summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuli Suominen <ssuominen@gentoo.org>2012-03-05 09:42:47 +0000
committerSamuli Suominen <ssuominen@gentoo.org>2012-03-05 09:42:47 +0000
commit8c47a1c4a7803327ff657ffd0e5d5be9c0653594 (patch)
tree09ede77c151a731f75485d50084328401f86d4fb /x11-libs/libXaw3d/files
parentmarked x86 per bug 403875 (diff)
downloadhistorical-8c47a1c4a7803327ff657ffd0e5d5be9c0653594.tar.gz
historical-8c47a1c4a7803327ff657ffd0e5d5be9c0653594.tar.bz2
historical-8c47a1c4a7803327ff657ffd0e5d5be9c0653594.zip
Fix use after free in DestroyAllIM (causing segmentation fault in app-text/gv exit) wrt #406487 by Matt Turner
Package-Manager: portage-2.2.0_alpha89/cvs/Linux x86_64
Diffstat (limited to 'x11-libs/libXaw3d/files')
-rw-r--r--x11-libs/libXaw3d/files/libXaw3d-1.6.1-use_after_free.patch39
1 files changed, 39 insertions, 0 deletions
diff --git a/x11-libs/libXaw3d/files/libXaw3d-1.6.1-use_after_free.patch b/x11-libs/libXaw3d/files/libXaw3d-1.6.1-use_after_free.patch
new file mode 100644
index 000000000000..c419462299c0
--- /dev/null
+++ b/x11-libs/libXaw3d/files/libXaw3d-1.6.1-use_after_free.patch
@@ -0,0 +1,39 @@
+From f435c05c64bc20557d901170b76f6bce8506ed48 Mon Sep 17 00:00:00 2001
+From: Matt Turner <mattst88@gmail.com>
+Date: Thu, 1 Mar 2012 16:48:23 -0500
+Subject: [PATCH libXaw3d] Fix use-after-free in DestroyAllIM
+
+Fixes segmentation fault when closing gv.
+
+Found at http://gitorious.org/xaw3d/xaw3d/commit/23b3ca50395f180cba4a923eb8827dcc961629da
+
+Fixes: https://bugs.gentoo.org/show_bug.cgi?id=406487
+Signed-off-by: Matt Turner <mattst88@gmail.com>
+---
+Original author of this patch is unknown. If you know, let me know and
+I'll fix the attribution.
+
+ src/XawIm.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/src/XawIm.c b/src/XawIm.c
+index 82a94b1..00562b5 100644
+--- a/src/XawIm.c
++++ b/src/XawIm.c
+@@ -320,12 +320,12 @@ DestroyAllIM(XawVendorShellExtPart *ve)
+ /*
+ * Close Input Method
+ */
+- CloseIM(ve);
+ if (!XFindContext(XDisplayOfIM(ve->im.xim), (Window)ve->im.xim, errContext,
+ (XPointer*)&contextErrData)) {
+ if (contextErrData) XtFree((char *)contextErrData);
+ }
+ XDeleteContext(XDisplayOfIM(ve->im.xim), (Window)ve->im.xim, errContext);
++ CloseIM(ve);
+ ve->im.xim = NULL;
+
+ /*
+--
+1.7.3.4
+