From bc0a3f0204e0460548679421c511e517866d0371 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Sun, 29 Oct 2023 19:11:32 -0300 Subject: Reject updates from setq to negative values (it is unsigned int) --- src/emap/script_buildins.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/emap/script_buildins.c b/src/emap/script_buildins.c index 4c43a26..97f6a29 100644 --- a/src/emap/script_buildins.c +++ b/src/emap/script_buildins.c @@ -587,14 +587,15 @@ BUILDIN(setq) script->reportsrc(st); return false; } + // TODO: If value is < 0, refuse and raise error - sd->quest_log[i].count[0] = script_getnum(st, 3); + sd->quest_log[i].count[0] = max(0, script_getnum(st, 3)); if (script_hasdata(st, 4)) - sd->quest_log[i].count[1] = script_getnum(st, 4); + sd->quest_log[i].count[1] = max(0, script_getnum(st, 4)); if (script_hasdata(st, 5)) - sd->quest_log[i].count[2] = script_getnum(st, 5); + sd->quest_log[i].count[2] = max(0, script_getnum(st, 5)); if (script_hasdata(st, 6)) - sd->quest_log[i].time = script_getnum(st, 6); + sd->quest_log[i].time = max(0, script_getnum(st, 6)); sd->save_quest = true; if (map->save_settings & 64) chrif->save(sd,0); -- cgit v1.2.3-70-g09d2