[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 05/10] ui/gtk-gl-area: Plug memleak in gd_gl_area_create_conte
From: |
Pan Nengyuan |
Subject: |
[PATCH v2 05/10] ui/gtk-gl-area: Plug memleak in gd_gl_area_create_context() |
Date: |
Mon, 31 Aug 2020 09:43:10 -0400 |
Receiving error in local variable err, and forgot to free it.
This patch check the return value of 'gdk_window_create_gl_context'
and 'gdk_gl_context_realize', then free err to fix it.
Reported-by: Euler Robot <euler.robot@huawei.com>
Signed-off-by: Pan Nengyuan <pannengyuan@huawei.com>
---
Cc: Gerd Hoffmann <kraxel@redhat.com>
---
V2->V1: check the return value of 'gdk_window_create_gl_context'
and 'gdk_gl_context_realize' instead of omitting it(Suggested by Li Qiang)
---
ui/gtk-gl-area.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/ui/gtk-gl-area.c b/ui/gtk-gl-area.c
index 85f9d14c51..98c22d23f5 100644
--- a/ui/gtk-gl-area.c
+++ b/ui/gtk-gl-area.c
@@ -147,10 +147,21 @@ QEMUGLContext
gd_gl_area_create_context(DisplayChangeListener *dcl,
gtk_gl_area_make_current(GTK_GL_AREA(vc->gfx.drawing_area));
window = gtk_widget_get_window(vc->gfx.drawing_area);
ctx = gdk_window_create_gl_context(window, &err);
+ if (err) {
+ g_printerr("Create gdk gl context failed: %s\n", err->message);
+ g_error_free(err);
+ return NULL;
+ }
gdk_gl_context_set_required_version(ctx,
params->major_ver,
params->minor_ver);
gdk_gl_context_realize(ctx, &err);
+ if (err) {
+ g_printerr("Realize gdk gl context failed: %s\n", err->message);
+ g_error_free(err);
+ g_clear_object(&ctx);
+ return NULL;
+ }
return ctx;
}
--
2.18.2
- [PATCH v2 01/10] qga/channel-posix: Plug memory leak in ga_channel_write_all(), (continued)
- [PATCH v2 01/10] qga/channel-posix: Plug memory leak in ga_channel_write_all(), Pan Nengyuan, 2020/08/31
- [PATCH v2 04/10] target/i386/sev: Plug memleak in sev_read_file_base64, Pan Nengyuan, 2020/08/31
- [PATCH v2 07/10] migration/colo: Plug memleaks in colo_process_incoming_thread, Pan Nengyuan, 2020/08/31
- [PATCH v2 03/10] elf2dmp/pdb: Plug memleak in pdb_init_from_file, Pan Nengyuan, 2020/08/31
- [PATCH v2 06/10] target/i386/cpu: Fix memleak in x86_cpu_class_check_missing_features, Pan Nengyuan, 2020/08/31
- [PATCH v2 09/10] block/file-posix: fix a possible undefined behavior, Pan Nengyuan, 2020/08/31
- [PATCH v2 08/10] blockdev: Fix a memleak in drive_backup_prepare(), Pan Nengyuan, 2020/08/31
- [PATCH v2 10/10] vnc-auth-sasl: Plug memleak in vnc_socket_ip_addr_string, Pan Nengyuan, 2020/08/31
- [PATCH v2 02/10] elf2dmp/qemu_elf: Plug memleak in QEMU_Elf_init, Pan Nengyuan, 2020/08/31
- [PATCH v2 05/10] ui/gtk-gl-area: Plug memleak in gd_gl_area_create_context(),
Pan Nengyuan <=