Browse Source

Merge pull request #26962 from ibrahn/small-x11setcontext-fix

fix for access after free in OS_X11::set_context.
Rémi Verschelde 6 years ago
parent
commit
53131635b4
1 changed files with 5 additions and 4 deletions
  1. 5 4
      platform/x11/os_x11.cpp

+ 5 - 4
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;
 		}