[gtk+] x11: Avoid a possible memory leak in an error case
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] x11: Avoid a possible memory leak in an error case
- Date: Sat, 4 Jan 2014 20:17:28 +0000 (UTC)
commit c37e3b631616313fd93bcbb3da54d68caf95198f
Author: Matthias Clasen <mclasen redhat com>
Date: Sat Jan 4 15:13:51 2014 -0500
x11: Avoid a possible memory leak in an error case
If _NET_WORKAREA is set to nonsensical values, we should still
free the memory before returning.
gdk/x11/gdkscreen-x11.c | 8 +++++---
1 files changed, 5 insertions(+), 3 deletions(-)
---
diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c
index 6b09834..9f09ce1 100644
--- a/gdk/x11/gdkscreen-x11.c
+++ b/gdk/x11/gdkscreen-x11.c
@@ -314,7 +314,7 @@ get_work_area (GdkScreen *screen,
gulong num;
gulong leftovers;
gulong max_len = 4 * 32;
- guchar *ret_workarea;
+ guchar *ret_workarea = NULL;
long *workareas;
int result;
int disp_screen;
@@ -356,7 +356,7 @@ get_work_area (GdkScreen *screen,
format == 0 ||
leftovers ||
num % 4 != 0)
- return;
+ goto out;
desktop = get_current_desktop (screen);
@@ -371,7 +371,9 @@ get_work_area (GdkScreen *screen,
area->width /= x11_screen->window_scale;
area->height /= x11_screen->window_scale;
- XFree (ret_workarea);
+out:
+ if (ret_workarea)
+ XFree (ret_workarea);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]