summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorDmitry Frolov <frolov@swemel.ru>2023-08-25 14:58:19 +0300
committerMarc-André Lureau <marcandre.lureau@redhat.com>2023-09-04 15:37:50 +0400
commite38f4e976dd40c985bfe84230a627de9a108c9d3 (patch)
tree61d4530dcf736e14e12815072ac49035f83f7a5a
parent878490937c6273f27191e3a195c7a60fa68819b8 (diff)
downloadfocaccia-qemu-e38f4e976dd40c985bfe84230a627de9a108c9d3.tar.gz
focaccia-qemu-e38f4e976dd40c985bfe84230a627de9a108c9d3.zip
ui/gtk: fix leaks found wtih fuzzing
It is true, that there is no problem during runtime
from the first sight, because the memory is lost just
before qemu exits. Nevertheless, this change is necessary,
because AddressSanitizer is not able to recognize this
situation and produces crash-report (which is
false-positive in fact). Lots of False-Positive warnings
are davaluing problems, found with fuzzing, and thus the
whole methodology of dynamic analysis.
This patch eliminates such False-Positive reports,
and makes every problem, found with fuzzing, more valuable.

Fixes: 060ab76356 ("gtk: don't exit early in case gtk init fails")

Signed-off-by: Dmitry Frolov <frolov@swemel.ru>
Reviewed-by: Michael Tokarev <mjt@tls.msk.ru>
Message-Id: <20230825115818.1091936-1-frolov@swemel.ru>
-rw-r--r--ui/gtk.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/ui/gtk.c b/ui/gtk.c
index c34c133550..a14d56168d 100644
--- a/ui/gtk.c
+++ b/ui/gtk.c
@@ -2359,7 +2359,7 @@ static void gtk_display_init(DisplayState *ds, DisplayOptions *opts)
 {
     VirtualConsole *vc;
 
-    GtkDisplayState *s = g_malloc0(sizeof(*s));
+    GtkDisplayState *s;
     GdkDisplay *window_display;
     GtkIconTheme *theme;
     char *dir;
@@ -2369,6 +2369,7 @@ static void gtk_display_init(DisplayState *ds, DisplayOptions *opts)
         exit(1);
     }
     assert(opts->type == DISPLAY_TYPE_GTK);
+    s = g_malloc0(sizeof(*s));
     s->opts = opts;
 
     theme = gtk_icon_theme_get_default();