[PATCH libXaw3d] Fix use-after-free in DestroyAllIM

Matt Turner mattst88 at gmail.com
Thu Mar 1 13:54:21 PST 2012


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 at 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



More information about the xorg-devel mailing list