From 30822e8ab7735f3a715d4375292df5f0989ab788 Mon Sep 17 00:00:00 2001 From: karroffel Date: Sat, 20 Jan 2018 15:23:03 +0100 Subject: fixed crash with StringBuilder When using a newly created StringBuilder then the as_string() method will crash when trying to free an allocated 0-sized chunk of memory. When 0 bytes get allocated with memnew_arr then a NULL pointer gets returned. When trying to free that pointer the programm will crash. --- core/string_builder.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/core/string_builder.cpp b/core/string_builder.cpp index 4d567cbc03..8ab7e0ea8f 100644 --- a/core/string_builder.cpp +++ b/core/string_builder.cpp @@ -56,6 +56,9 @@ StringBuilder &StringBuilder::append(const char *p_cstring) { String StringBuilder::as_string() const { + if (string_length == 0) + return ""; + CharType *buffer = memnew_arr(CharType, string_length); int current_position = 0; -- cgit v1.2.3