summaryrefslogtreecommitdiffstats
path: root/mbbsd/fav.c
diff options
context:
space:
mode:
authorscw <scw@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2005-08-28 17:49:35 +0800
committerscw <scw@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2005-08-28 17:49:35 +0800
commit399423199e47788a2fa68f6f78fb9f9eff9f0443 (patch)
tree190eb1d72dc0cc03bfe00f3a07154c42699334e5 /mbbsd/fav.c
parentfeace6bb7d989fbf8f8f45cda34b8d60da844ed9 (diff)
downloadpttbbs-399423199e47788a2fa68f6f78fb9f9eff9f0443.tar
pttbbs-399423199e47788a2fa68f6f78fb9f9eff9f0443.tar.gz
pttbbs-399423199e47788a2fa68f6f78fb9f9eff9f0443.tar.bz2
pttbbs-399423199e47788a2fa68f6f78fb9f9eff9f0443.tar.lz
pttbbs-399423199e47788a2fa68f6f78fb9f9eff9f0443.tar.xz
pttbbs-399423199e47788a2fa68f6f78fb9f9eff9f0443.tar.zst
pttbbs-399423199e47788a2fa68f6f78fb9f9eff9f0443.zip
* fix crash when using 'i' to add board in my favorite
* boundry check in move_in_folder() git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@3101 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'mbbsd/fav.c')
-rw-r--r--mbbsd/fav.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/mbbsd/fav.c b/mbbsd/fav.c
index 35c3f417..56b3b8c3 100644
--- a/mbbsd/fav.c
+++ b/mbbsd/fav.c
@@ -809,13 +809,15 @@ static void move_in_folder(fav_t *fav, int src, int dst)
dirty = 1;
/* Find real locations of src and dst in fav->favh[] */
- for(count = i = 0; count <= src; i++)
+ for(count = i = 0; count <= src && i < fav->DataTail; i++)
if (valid_item(&fav->favh[i]))
count++;
+ if (count != src + 1) return;
src = i - 1;
- for(count = i = 0; count <= dst; i++)
+ for(count = i = 0; count <= dst && i < fav->DataTail; i++)
if (valid_item(&fav->favh[i]))
count++;
+ if (count != dst + 1) return;
dst = i - 1;
fav_item_copy(&tmp, &fav->favh[src]);