Don't crash when parse_utf8 receives a NULL pointer

This can happen when chaining calls to various string methods when the
string is empty.
This commit is contained in:
Hein-Pieter van Braam 2019-02-22 19:27:13 +01:00
parent aef5b36bfa
commit 4f49d09272
2 changed files with 11 additions and 0 deletions

View file

@ -1359,6 +1359,9 @@ bool String::parse_utf8(const char *p_utf8, int p_len) {
#define _UNICERROR(m_err) print_line("Unicode error: " + String(m_err));
if (!p_utf8)
return true;
String aux;
int cstr_size = 0;

View file

@ -1046,6 +1046,13 @@ bool test_32() {
#undef STRIP_TEST
}
bool test_33() {
OS::get_singleton()->print("\n\nTest 33: parse_utf8(null, -1)\n");
String empty;
return empty.parse_utf8(NULL, -1) == true;
}
typedef bool (*TestFunc)(void);
TestFunc test_funcs[] = {
@ -1082,6 +1089,7 @@ TestFunc test_funcs[] = {
test_30,
test_31,
test_32,
test_33,
0
};