summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2009-07-10 10:55:05 +0800
committerpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2009-07-10 10:55:05 +0800
commit1d1c09830f1a27b584ea1ac411285d41d12f21d9 (patch)
tree9eb7b298a78560b5072911baf644a46643473c03
parent1c8fbb8b1ced3d2ac6b4fcf9cd8b9ff874d708b4 (diff)
downloadpttbbs-1d1c09830f1a27b584ea1ac411285d41d12f21d9.tar
pttbbs-1d1c09830f1a27b584ea1ac411285d41d12f21d9.tar.gz
pttbbs-1d1c09830f1a27b584ea1ac411285d41d12f21d9.tar.bz2
pttbbs-1d1c09830f1a27b584ea1ac411285d41d12f21d9.tar.lz
pttbbs-1d1c09830f1a27b584ea1ac411285d41d12f21d9.tar.xz
pttbbs-1d1c09830f1a27b584ea1ac411285d41d12f21d9.tar.zst
pttbbs-1d1c09830f1a27b584ea1ac411285d41d12f21d9.zip
* ann: prevent invalid user input causing assert fail of (z_indexes[0] == -1).
git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@4734 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r--mbbsd/announce.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/mbbsd/announce.c b/mbbsd/announce.c
index 952f615d..733cd74a 100644
--- a/mbbsd/announce.c
+++ b/mbbsd/announce.c
@@ -1163,6 +1163,12 @@ int a_parse_zindexes(const char *s, a_menu_session_t *sess)
i+1 < _DIM(sess->z_indexes) )
{
sess->z_indexes[i] = atoi(s);
+ // for overflow, ignore all remaining.
+ if (sess->z_indexes[i] < 0)
+ {
+ sess->z_indexes[i] = 0;
+ break;
+ }
// only increase index
if (sess->z_indexes[i])
i++;