From 7215f7de56c3d26487fcfe1a4e9b04c3d2b309a3 Mon Sep 17 00:00:00 2001 From: in2 Date: Fri, 23 Aug 2002 18:01:30 +0000 Subject: fix memory error git-svn-id: http://opensvn.csie.org/pttbbs/pttbbs/trunk/pttbbs@488 63ad8ddf-47c3-0310-b6dd-a9e9d9715204 --- mbbsd/cache.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'mbbsd/cache.c') diff --git a/mbbsd/cache.c b/mbbsd/cache.c index 7c4a1992..ccb8ff33 100644 --- a/mbbsd/cache.c +++ b/mbbsd/cache.c @@ -1,4 +1,4 @@ -/* $Id: cache.c,v 1.49 2002/08/20 02:42:36 in2 Exp $ */ +/* $Id: cache.c,v 1.50 2002/08/23 18:01:30 in2 Exp $ */ #include "bbs.h" #ifndef __FreeBSD__ @@ -527,8 +527,11 @@ search_ulistn(int uid, int unum) for (i = ((start + end) / 2);; i = (start + end) / 2) { j = uid - ulist[i]->uid; if (j == 0) { - for (; i > 0 && uid == ulist[i - 1]->uid; --i); /* 指到第一筆 */ - if (ulist[i + unum - 1] != NULL && uid == ulist[i + unum - 1]->uid) + for (; i > 0 && uid == ulist[i - 1]->uid; --i) + ;/* 指到第一筆 */ + if ( i + unum - 1 >= 0 && + (ulist[i + unum - 1] != NULL && + uid == ulist[i + unum - 1]->uid) ) return (userinfo_t *) (ulist[i + unum - 1]); break; /* 超過範圍 */ } -- cgit v1.2.3