From 1aa55242d929fd85ceaa462348e3ecb2636487bc Mon Sep 17 00:00:00 2001 From: Ben Longbons Date: Thu, 28 Aug 2014 16:13:33 -0700 Subject: Prevent skills from being set out of bounds by privileged users --- src/map/atcommand.cpp | 2 ++ src/map/script.cpp | 2 ++ 2 files changed, 4 insertions(+) (limited to 'src/map') diff --git a/src/map/atcommand.cpp b/src/map/atcommand.cpp index 342f6ef..0d70b36 100644 --- a/src/map/atcommand.cpp +++ b/src/map/atcommand.cpp @@ -4552,6 +4552,8 @@ ATCE atcommand_magic_info(Session *s, dumb_ptr, static void set_skill(dumb_ptr sd, SkillID i, int level) { + level = std::min(level, MAX_SKILL_LEVEL); + level = std::max(level, 0); sd->status.skill[i].lv = level; } diff --git a/src/map/script.cpp b/src/map/script.cpp index 4aeb7d9..40dfc0e 100644 --- a/src/map/script.cpp +++ b/src/map/script.cpp @@ -2414,6 +2414,8 @@ void builtin_setskill(ScriptState *st) level = conv_num(st, &AARGO2(3)); sd = script_rid2sd(st); + level = std::min(level, MAX_SKILL_LEVEL); + level = std::max(level, 0); sd->status.skill[id].lv = level; clif_skillinfoblock(sd); } -- cgit v1.2.3-60-g2f50