diff options
Diffstat (limited to 'main/xfce4-session/store-the-watch-function-id-to-avoid-possible-double-free.patch')
-rw-r--r-- | main/xfce4-session/store-the-watch-function-id-to-avoid-possible-double-free.patch | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/main/xfce4-session/store-the-watch-function-id-to-avoid-possible-double-free.patch b/main/xfce4-session/store-the-watch-function-id-to-avoid-possible-double-free.patch new file mode 100644 index 0000000000..1b86997ff2 --- /dev/null +++ b/main/xfce4-session/store-the-watch-function-id-to-avoid-possible-double-free.patch @@ -0,0 +1,26 @@ +From ab391138cacc62ab184a338e237c4430356b41f9 Mon Sep 17 00:00:00 2001 +From: Nick Schermer <nick@xfce.org> +Date: Fri, 26 Apr 2013 18:05:10 +0000 +Subject: Store the watch function id to avoid possible double free (bug #9709). + +--- +diff --git a/xfce4-session/xfsm-startup.c b/xfce4-session/xfsm-startup.c +index e43c53c..c621397 100644 +--- a/xfce4-session/xfsm-startup.c ++++ b/xfce4-session/xfsm-startup.c +@@ -903,9 +903,10 @@ xfsm_startup_start_properties (XfsmProperties *properties, + child_watch_data = g_new0 (XfsmStartupData, 1); + child_watch_data->manager = g_object_ref (manager); + child_watch_data->properties = properties; +- g_child_watch_add_full (G_PRIORITY_LOW, properties->pid, +- xfsm_startup_child_watch, child_watch_data, +- (GDestroyNotify) xfsm_startup_data_free); ++ child_watch_data->properties->child_watch_id = ++ g_child_watch_add_full (G_PRIORITY_LOW, properties->pid, ++ xfsm_startup_child_watch, child_watch_data, ++ (GDestroyNotify) xfsm_startup_data_free); + + /* set a timeout -- client must register in a a certain amount of time + * or it's assumed to be broken/have issues. */ +-- +cgit v0.9.1 |