diff options
author | Paradox924X <Paradox924X@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2010-10-13 07:33:18 +0000 |
---|---|---|
committer | Paradox924X <Paradox924X@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2010-10-13 07:33:18 +0000 |
commit | 5fcec1b2df154341faa4a741036707f805847358 (patch) | |
tree | 8a737685d3b2f15ea1c0460df20441d97c94a623 | |
parent | 3c22c93f3d02458d151cb6d3a7e8add7f549c453 (diff) | |
download | hercules-5fcec1b2df154341faa4a741036707f805847358.tar.gz hercules-5fcec1b2df154341faa4a741036707f805847358.tar.bz2 hercules-5fcec1b2df154341faa4a741036707f805847358.tar.xz hercules-5fcec1b2df154341faa4a741036707f805847358.zip |
Prevented @stpoint and @skpoint from causing overflows.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/renewal@14428 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r-- | Changelog-Renewal.txt | 2 | ||||
-rw-r--r-- | src/map/atcommand.c | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/Changelog-Renewal.txt b/Changelog-Renewal.txt index 18629909c..9c263747d 100644 --- a/Changelog-Renewal.txt +++ b/Changelog-Renewal.txt @@ -1,5 +1,7 @@ Date Added +2010/10/13 + * Prevented @stpoint and @skpoint from causing overflows. [Paradox924X] 2010/10/11 * Implemented official cash food behavior, including use delay, not being dispelled (including on death), distinct status effects and icons from the ordinary food types. (bugreport:2560) [Paradox924X] diff --git a/src/map/atcommand.c b/src/map/atcommand.c index 9fe589e73..44c44ff23 100644 --- a/src/map/atcommand.c +++ b/src/map/atcommand.c @@ -2857,7 +2857,7 @@ int atcommand_statuspoint(const int fd, struct map_session_data* sd, const char* if (point < 0 && sd->status.status_point < -point) new_status_point = 0; else - new_status_point = sd->status.status_point + point; + new_status_point = cap_value(sd->status.status_point + point, 0, INT_MAX); if (new_status_point != (int)sd->status.status_point) { sd->status.status_point = new_status_point; @@ -2890,7 +2890,7 @@ int atcommand_skillpoint(const int fd, struct map_session_data* sd, const char* if (point < 0 && sd->status.skill_point < -point) new_skill_point = 0; else - new_skill_point = sd->status.skill_point + point; + new_skill_point = cap_value(sd->status.skill_point + point, 0, INT_MAX); if (new_skill_point != (int)sd->status.skill_point) { sd->status.skill_point = new_skill_point; |