From 73a83326958918bc2f770239dcaca435099af5c2 Mon Sep 17 00:00:00 2001 From: d0k3 Date: Wed, 7 Feb 2018 23:07:23 +0100 Subject: [PATCH] Fix #308 --- arm9/source/utils/scripting.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arm9/source/utils/scripting.c b/arm9/source/utils/scripting.c index 9bd5fce..778beb9 100644 --- a/arm9/source/utils/scripting.c +++ b/arm9/source/utils/scripting.c @@ -631,6 +631,7 @@ char* find_next(char* ptr) { char* find_label(const char* label, const char* last_found) { char* script = (char*) script_buffer; char* ptr = script; + u32 label_len = strnlen(label, _ARG_MAX_LEN); if (last_found) { ptr = strchr(last_found, '\n'); @@ -659,7 +660,7 @@ char* find_label(const char* label, const char* last_found) { // compare it manually (also check for '*' at end) u32 pdiff = 0; for (; (pdiff < str_len) && (label[pdiff] == str[pdiff]); pdiff++); - if ((pdiff != str_len) && (label[pdiff] != '*')) continue; // no match + if ((pdiff < label_len) && (label[pdiff] != '*')) continue; // no match // otherwise: potential regular or wildcard match // may be a match, see if there are more strings after it