From d097f2c4b4a31885c6b04f5868563e1f48414192 Mon Sep 17 00:00:00 2001 From: panikon Date: Sat, 22 Mar 2014 15:24:22 -0300 Subject: Fixed exploit in CR_ACIDDEMONSTRATION Fixed issue 8087 http://hercules.ws/board/tracker/issue-8087-excrescent-blank-line-in-pcc/ --- src/map/battle.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/map/battle.c') diff --git a/src/map/battle.c b/src/map/battle.c index 91db3202c..6836aa016 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -3750,7 +3750,10 @@ struct Damage battle_calc_misc_attack(struct block_list *src,struct block_list * md.damage = 0; if (tsd) md.damage>>=1; #endif - if (md.damage < 0 || md.damage > INT_MAX>>1) + // Some monsters have totaldef higher than md.damage in some cases, leading to md.damage < 0 + if( md.damage < 0 ) + md.damage = 0; + if( md.damage > INT_MAX>>1 ) //Overflow prevention, will anyone whine if I cap it to a few billion? //Not capped to INT_MAX to give some room for further damage increase. md.damage = INT_MAX>>1; -- cgit v1.2.3-60-g2f50