53 lines
1.8 KiB
Diff
53 lines
1.8 KiB
Diff
|
|
From 1876a69642964cdaadcce4dd797c0b91f02c2ed3 Mon Sep 17 00:00:00 2001
|
||
|
|
From: Zhang Jiao <zhangjiao2_yewu@cmss.chinamobile.com>
|
||
|
|
Date: Thu, 12 Dec 2024 09:57:44 +0800
|
||
|
|
Subject: [PATCH] ui/gtk: fix leaks found wtih fuzzing
|
||
|
|
|
||
|
|
cheery-pick from e38f4e976dd40c985bfe84230a627de9a108c9d3
|
||
|
|
|
||
|
|
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>
|
||
|
|
Signed-off-by: Zhang Jiao <zhangjiao2_yewu@cmss.chinamobile.com>
|
||
|
|
---
|
||
|
|
ui/gtk.c | 3 ++-
|
||
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||
|
|
|
||
|
|
diff --git a/ui/gtk.c b/ui/gtk.c
|
||
|
|
index 6d9cb42b3d..f16ccf9c4b 100644
|
||
|
|
--- a/ui/gtk.c
|
||
|
|
+++ b/ui/gtk.c
|
||
|
|
@@ -2245,7 +2245,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;
|
||
|
|
@@ -2255,6 +2255,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();
|
||
|
|
--
|
||
|
|
2.41.0.windows.1
|
||
|
|
|