From d5a3a61c0158659680a072835cecf6271206988c Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 29 Aug 2005 04:38:52 +0000 Subject: [PATCH] Free state.children in all cases. (#313862, Kjartan Maraas) 2005-08-29 Matthias Clasen * gdk/x11/gdkasync.c (_gdk_x11_get_window_child_info): Free state.children in all cases. (#313862, Kjartan Maraas) --- ChangeLog | 5 +++++ ChangeLog.pre-2-10 | 5 +++++ gdk/x11/gdkasync.c | 9 ++++++++- 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 2195e7be18..3dea27a379 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-08-29 Matthias Clasen + + * gdk/x11/gdkasync.c (_gdk_x11_get_window_child_info): Free + state.children in all cases. (#313862, Kjartan Maraas) + 2005-08-28 Matthias Clasen * po/POTFILES.in, po-properties/POTFILES.in: diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 2195e7be18..3dea27a379 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,8 @@ +2005-08-29 Matthias Clasen + + * gdk/x11/gdkasync.c (_gdk_x11_get_window_child_info): Free + state.children in all cases. (#313862, Kjartan Maraas) + 2005-08-28 Matthias Clasen * po/POTFILES.in, po-properties/POTFILES.in: diff --git a/gdk/x11/gdkasync.c b/gdk/x11/gdkasync.c index d0cf7e94b3..e360bf1a15 100644 --- a/gdk/x11/gdkasync.c +++ b/gdk/x11/gdkasync.c @@ -626,6 +626,9 @@ _gdk_x11_get_window_child_info (GdkDisplay *display, else wm_state_atom = None; + state.children = NULL; + state.nchildren = 0; + gdk_error_trap_push (); result = list_children_and_wm_state (dpy, window, win_has_wm_state ? wm_state_atom : None, @@ -633,12 +636,16 @@ _gdk_x11_get_window_child_info (GdkDisplay *display, &state.children, &state.nchildren); gdk_error_trap_pop (); if (!result) - return FALSE; + { + g_free (state.children); + return FALSE; + } if (has_wm_state) { if (win_has_wm_state) *win_has_wm_state = TRUE; + g_free (state.children); return TRUE; } else