diff options
author | in2 <in2@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2005-02-12 18:29:10 +0800 |
---|---|---|
committer | in2 <in2@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2005-02-12 18:29:10 +0800 |
commit | 661c66818ba37161c4626e0b5026fd6fe30a89a8 (patch) | |
tree | 6ad0448e2d9cb4421cdf16860c5841d6be46df9d /mbbsd/cache.c | |
parent | e563476440b601acfe2918c6aeb56fe3dd60be24 (diff) | |
download | pttbbs-661c66818ba37161c4626e0b5026fd6fe30a89a8.tar pttbbs-661c66818ba37161c4626e0b5026fd6fe30a89a8.tar.gz pttbbs-661c66818ba37161c4626e0b5026fd6fe30a89a8.tar.bz2 pttbbs-661c66818ba37161c4626e0b5026fd6fe30a89a8.tar.lz pttbbs-661c66818ba37161c4626e0b5026fd6fe30a89a8.tar.xz pttbbs-661c66818ba37161c4626e0b5026fd6fe30a89a8.tar.zst pttbbs-661c66818ba37161c4626e0b5026fd6fe30a89a8.zip |
check if uid is in range in deumoney(). or damage SHM.
this checking should be done in upper layer or users could
not get the error messages. so mark as TODO.
git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@2499 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'mbbsd/cache.c')
-rw-r--r-- | mbbsd/cache.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/mbbsd/cache.c b/mbbsd/cache.c index 3f989885..a8e13ce0 100644 --- a/mbbsd/cache.c +++ b/mbbsd/cache.c @@ -447,6 +447,11 @@ setumoney(int uid, int money) int deumoney(int uid, int money) { + if (uid <= 0 || uid > MAX_USERS){ + vmsg("internal error"); + return -1; + } + if (money < 0 && moneyof(uid) < -money) return setumoney(uid, 0); else |