浏览代码

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.
karroffel 7 年之前
父节点
当前提交
30822e8ab7
共有 1 个文件被更改,包括 3 次插入0 次删除
  1. 3 0
      core/string_builder.cpp

+ 3 - 0
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;