diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2013-04-29 13:18:50 +0200 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2013-04-29 13:42:05 +0200 |
commit | 8cdf1e8a2230f7cc395a3b19bc4d682bc245d480 (patch) | |
tree | b59834b7ce7c41dabbb2b1f752285a594bd31f2a /main/xfce4-session | |
parent | 4b5d4a050eded538d8d8c9c96c21df023723ce81 (diff) | |
download | aports-8cdf1e8a2230f7cc395a3b19bc4d682bc245d480.tar.bz2 aports-8cdf1e8a2230f7cc395a3b19bc4d682bc245d480.tar.xz |
main/xfc4-session: fix double free
Upstream bug:
https://bugzilla.xfce.org/show_bug.cgi?id=9709
Diffstat (limited to 'main/xfce4-session')
-rw-r--r-- | main/xfce4-session/APKBUILD | 18 | ||||
-rw-r--r-- | main/xfce4-session/store-the-watch-function-id-to-avoid-possible-double-free.patch | 26 |
2 files changed, 40 insertions, 4 deletions
diff --git a/main/xfce4-session/APKBUILD b/main/xfce4-session/APKBUILD index a341b7f68e..54201fcba5 100644 --- a/main/xfce4-session/APKBUILD +++ b/main/xfce4-session/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=xfce4-session pkgver=4.10.0 -pkgrel=1 +pkgrel=2 pkgdesc="A session manager for Xfce" url="http://www.xfce.org/" arch="all" @@ -12,13 +12,18 @@ depends="hicolor-icon-theme iceauth" install= replaces="xfce-utils" source="http://archive.xfce.org/src/xfce/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.bz2 + store-the-watch-function-id-to-avoid-possible-double-free.patch busybox-shutdown.patch" depends_dev="libxfcegui4-dev xfconf-dev" prepare() { cd "$srcdir"/$pkgname-$pkgver - patch -p1 -i ../busybox-shutdown.patch || return 1 + for i in $source; do + case $i in + *.patch) msg $; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done } build() { @@ -30,8 +35,6 @@ build() { --localstatedir=/var \ --disable-static \ --enable-legacy-sm \ - --disable-gnome \ - --disable-session-screenshots \ || return 1 make || return 1 } @@ -47,4 +50,11 @@ package() { } md5sums="4768e1a41a0287af6aad18b329a0f230 xfce4-session-4.10.0.tar.bz2 +59c3a41553d4ed823d84731827ad3376 store-the-watch-function-id-to-avoid-possible-double-free.patch bfd9132f08f4a92efbe982fb911c511c busybox-shutdown.patch" +sha256sums="bb8aa9a74c3d382840596fb4875144d66c7f3f47c8e9ee81d31e3428a72c46ce xfce4-session-4.10.0.tar.bz2 +5eb5319a38f58a2d518d0e3d24b6d01c487871711fb36b55cb03a10a4591cdcf store-the-watch-function-id-to-avoid-possible-double-free.patch +def812f4decef365bf7efd4ef7722ff86ed52f664410f1d9a49d7d39da088dff busybox-shutdown.patch" +sha512sums="d8d8d7c6c764182e8477d87d3c0d30ea4988e34c3411ffa15901b07738671960c1e62c02c05c45724890cec063f1a5aeeb04ab8b48992917ebfe1975165e969c xfce4-session-4.10.0.tar.bz2 +d3a4eaa2be1a3f680744a9ee1ea7ee95469a407fc019a1efe25a4197fa080bf3b969fba7ce9f923ce7a8b21a4d74f0733bdf3c59ba1561daf75ca513a39681b4 store-the-watch-function-id-to-avoid-possible-double-free.patch +745aea2738980b0e8960701af40246b9c3e17ad0c0eb55d1c4629feb7cde472218573c2b27de492c774ae0a5eb503c73088a65df76bde65c9f923edcce03920f busybox-shutdown.patch" 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 |