瀏覽代碼

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

fix for access after free in OS_X11::set_context.
Rémi Verschelde 6 年之前
父節點
當前提交
53131635b4
共有 1 個文件被更改,包括 5 次插入4 次删除
  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;
 		}