6739431 xterm memory corruption detected in libX11.so.4'_X11TransConnectDisplay nv_101
authorAlan Coopersmith <Alan.Coopersmith@Sun.COM>
Tue, 07 Oct 2008 16:18:30 -0700
changeset 563 f9618494c3e0
parent 562 52a1d66cbeef
child 564 74152f762bca
6739431 xterm memory corruption detected in libX11.so.4'_X11TransConnectDisplay
open-src/lib/libX11/6739431.patch
open-src/lib/libX11/Makefile
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/open-src/lib/libX11/6739431.patch	Tue Oct 07 16:18:30 2008 -0700
@@ -0,0 +1,30 @@
+From e7ece39afc8e0adc3b6b1e70b337b98376754462 Mon Sep 17 00:00:00 2001
+From: Alan Coopersmith <[email protected]>
+Date: Tue, 7 Oct 2008 15:41:38 -0700
+Subject: [PATCH] Sun bug #6739431: double free in _X11TransConnectDisplay()
+
+Double free() introduced in bf53987eaf0fbd7f7627783fc39e7ee99e8361ba
+After copying original_hostname to phostname, set original_hostname
+to NULL, so we don't free the same pointer twice when we free both
+original_hostname and phostname.
+
+<http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6739431>
+---
+ src/ConnDis.c |    1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/src/ConnDis.c b/src/ConnDis.c
+index d40bab0..f32b092 100644
+--- a/src/ConnDis.c
++++ b/src/ConnDis.c
+@@ -407,6 +407,7 @@ #if defined(LOCALCONN) || defined(TCPCON
+     if (reset_hostname && (phostname != original_hostname)) {
+ 	Xfree (phostname);
+ 	phostname = original_hostname;
++	original_hostname = NULL;
+     }
+ #endif
+     len = ((phostname ? strlen(phostname) : 0) + 1 + (dnet ? 1 : 0) +
+-- 
+1.4.1
+
--- a/open-src/lib/libX11/Makefile	Tue Oct 07 13:54:20 2008 -0700
+++ b/open-src/lib/libX11/Makefile	Tue Oct 07 16:18:30 2008 -0700
@@ -30,7 +30,7 @@
 # or other dealings in this Software without prior written authorization
 # of the copyright holder.
 #
-# @(#)Makefile	1.14	08/08/08
+# @(#)Makefile	1.15	08/10/07
 #
 
 # Package name used in tarballs
@@ -45,6 +45,7 @@
 	manpages.patch,-p1 \
 	XErrorDB.patch,-p1 \
 	local-transport.patch,-p1 \
+	6739431.patch,-p1 \
 	1234757.patch \
 	4010755.patch \
 	4614834.patch \