[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] gtk.c: Fix memory leak in gd_set_keycode_type()
From: |
address@hidden |
Subject: |
Re: [Qemu-devel] [PATCH] gtk.c: Fix memory leak in gd_set_keycode_type() |
Date: |
Thu, 4 Sep 2014 01:10:25 +0000 |
ping...
On Tue, 2014-09-02 at 14:33 +0800, Chen Fan wrote:
> this memory leak is introduced by the original
> commit 3158a3482b0093e41f2b2596fba50774ea31ae08
>
> valgrind out showing:
> ==14553== 21,459 (72 direct, 21,387 indirect) bytes in 1 blocks are
> definitely
> lost in loss record 8,055 of 8,082
> ==14553== at 0x4A06BC3: calloc (vg_replace_malloc.c:618)
> ==14553== by 0x80DBFBC: XkbGetKeyboardByName (in
> /usr/lib64/libX11.so.6.3.0)
> ==14553== by 0x40C704: gtk_display_init (gtk.c:1798)
> ==14553== by 0x1AEDC1: main (vl.c:4480)
>
> Signed-off-by: Chen Fan <address@hidden>
> ---
> ui/gtk.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/ui/gtk.c b/ui/gtk.c
> index 2345d7e..cdd2567 100644
> --- a/ui/gtk.c
> +++ b/ui/gtk.c
> @@ -1810,6 +1810,13 @@ static void gd_set_keycode_type(GtkDisplayState *s)
> fprintf(stderr, "unknown keycodes `%s', please report to "
> "address@hidden", keycodes);
> }
> +
> + if (desc) {
> + XkbFreeKeyboard(desc, XkbGBN_AllComponentsMask, True);
> + }
> + if (keycodes) {
> + XFree(keycodes);
> + }
> }
> #endif
> }