summaryrefslogtreecommitdiffstats
path: root/main/xfce4-session
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2013-04-29 13:18:50 +0200
committerNatanael Copa <ncopa@alpinelinux.org>2013-04-29 13:42:05 +0200
commit8cdf1e8a2230f7cc395a3b19bc4d682bc245d480 (patch)
treeb59834b7ce7c41dabbb2b1f752285a594bd31f2a /main/xfce4-session
parent4b5d4a050eded538d8d8c9c96c21df023723ce81 (diff)
downloadaports-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/APKBUILD18
-rw-r--r--main/xfce4-session/store-the-watch-function-id-to-avoid-possible-double-free.patch26
2 files changed, 40 insertions, 4 deletions
diff --git a/main/xfce4-session/APKBUILD b/main/xfce4-session/APKBUILD
index a341b7f68..54201fcba 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 000000000..1b86997ff
--- /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