- Added a overflow check when calculating party exp share.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9010 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
skotlex 2006-10-18 21:31:59 +00:00
parent 216850007c
commit 0ee096b60e
2 changed files with 6 additions and 0 deletions

View File

@ -3,6 +3,8 @@ Date Added
AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2006/10/18
* Added a overflow check when calculating party exp share. [Skotlex]
2006/10/16
* Adjusted UTSUSEMI/BUNSINJYUTSU so that they block range/melee weapon
attacks and only melee misc attacks. This isn't 100% correct, but it's a

View File

@ -725,11 +725,15 @@ int party_exp_share(struct party_data *p,struct block_list *src,unsigned int bas
job_exp/=c;
if (base_exp/100 > UINT_MAX/bonus)
base_exp= UINT_MAX; //Exp overflow
else if (base_exp > 10000)
base_exp = (base_exp/100)*bonus; //Calculation overflow protection
else
base_exp = base_exp*bonus/100;
if (job_exp/100 > UINT_MAX/bonus)
job_exp = UINT_MAX;
else if (job_exp > 10000)
job_exp = (job_exp/100)*bonus;
else
job_exp = job_exp*bonus/100;