diff options
author | Ibrahn Sahir <ibrahn.sahir@gmail.com> | 2019-03-12 13:41:02 +0000 |
---|---|---|
committer | Ibrahn Sahir <ibrahn.sahir@gmail.com> | 2019-03-12 13:41:02 +0000 |
commit | 7822cc9329e8186668a12cf07126ce0ee40a21b7 (patch) | |
tree | ad78dd5c9fc19184f5c03a25694f417aa9f4a385 | |
parent | 6d86450a8356b8930b503c8ff5cc07d9e34e6287 (diff) |
fix for access after free in OS_X11::set_context.
-rw-r--r-- | platform/x11/os_x11.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/platform/x11/os_x11.cpp b/platform/x11/os_x11.cpp index 87b63c0982..0fe91f3d00 100644 --- a/platform/x11/os_x11.cpp +++ b/platform/x11/os_x11.cpp @@ -3048,11 +3048,12 @@ void OS_X11::set_context(int p_context) { if (p_context == CONTEXT_ENGINE) { classHint->res_name = (char *)"Godot_Engine"; - char *config_name_tmp = (char *)((String)GLOBAL_GET("application/config/name")).utf8().ptrw(); - if (config_name_tmp) - config_name = strdup(config_name_tmp); - else + String config_name_tmp = GLOBAL_GET("application/config/name"); + if (config_name_tmp.length() > 0) { + config_name = strdup(config_name_tmp.utf8().get_data()); + } else { config_name = strdup("Godot Engine"); + } wm_class = config_name; } |