From 2f91e250f601e61e58fcb63b9bd72d29d7fc866b Mon Sep 17 00:00:00 2001 From: Fabio Alessandrelli Date: Mon, 8 Jul 2019 17:15:10 +0200 Subject: [PATCH] Add NULL-terminator the string passed to strtol. This is actually expected by the function although it was apparently working in GCC without the terminator, it breaks (at least some) clang versions. --- core/ustring.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/ustring.cpp b/core/ustring.cpp index 706e8a3cc1..75e3b6f22e 100644 --- a/core/ustring.cpp +++ b/core/ustring.cpp @@ -3338,7 +3338,7 @@ String String::http_unescape() const { if ((ord1 >= '0' && ord1 <= '9') || (ord1 >= 'A' && ord1 <= 'Z')) { CharType ord2 = ord_at(i + 2); if ((ord2 >= '0' && ord2 <= '9') || (ord2 >= 'A' && ord2 <= 'Z')) { - char bytes[2] = { (char)ord1, (char)ord2 }; + char bytes[3] = { (char)ord1, (char)ord2, 0 }; res += (char)strtol(bytes, NULL, 16); i += 2; }