From d308eb091a6c6d73442a118d7069e855ec2b1c6d Mon Sep 17 00:00:00 2001 From: Hein-Pieter van Braam Date: Wed, 30 Jan 2019 02:12:41 +0100 Subject: Fix many asan and ubsan reported issues This allows most demos to run without any ubsan or asan errors. There are still some things in thirdpart/ and some things in AudioServer that needs a look but this fixes a lot of issues. This should help debug less obvious issues, hopefully. This fixes #25217 and fixes #25218 --- platform/x11/os_x11.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'platform') diff --git a/platform/x11/os_x11.cpp b/platform/x11/os_x11.cpp index e0924fc982..ca4b02bb49 100644 --- a/platform/x11/os_x11.cpp +++ b/platform/x11/os_x11.cpp @@ -3004,7 +3004,9 @@ bool OS_X11::is_vsync_enabled() const { */ void OS_X11::set_context(int p_context) { + char *config_name = NULL; XClassHint *classHint = XAllocClassHint(); + if (classHint) { char *wm_class = (char *)"Godot"; @@ -3015,13 +3017,15 @@ void OS_X11::set_context(int p_context) { if (p_context == CONTEXT_ENGINE) { classHint->res_name = (char *)"Godot_Engine"; - wm_class = (char *)((String)GLOBAL_GET("application/config/name")).utf8().ptrw(); + config_name = strdup((char *)((String)GLOBAL_GET("application/config/name")).utf8().ptrw()); + wm_class = config_name; } classHint->res_class = wm_class; XSetClassHint(x11_display, x11_window, classHint); XFree(classHint); + free(config_name); } } -- cgit v1.2.3