ports/113216: [PATCH] net/rdesktop: fix segfault at login using xorg 7.2

Thomas Spreng spreng at socket.ch
Fri Jun 1 11:10:06 UTC 2007


>Number:         113216
>Category:       ports
>Synopsis:       [PATCH] net/rdesktop: fix segfault at login using xorg 7.2
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Fri Jun 01 11:10:03 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Thomas Spreng
>Release:        FreeBSD 6.2-RELEASE i386
>Organization:
>Environment:
System: FreeBSD idspreng.unibe.ch 6.2-RELEASE FreeBSD 6.2-RELEASE #6: Mon Jan 15 14:27:45 CET 2007 toor at idspreng.unibe.ch:/usr/obj/usr/src/sys/IDSPRENG i386


	
>Description:
rdesktop may segfault due to Xlib sanity checking of arguments passed to XCreateImage(3) if using xorg 7.2.
This patch is based on a PR from Ubuntu concerning the same problem: 
https://bugs.launchpad.net/ubuntu/+source/rdesktop/+bug/104332

I've tested the patch with a connection to a Windows 2003 SP2 Terminal Server with all color depth's, fullscreen and window mode.
	
>How-To-Repeat:
	
Try to log into Windows 2003 SP2 (not sure about other versions) using rdesktop 1.5.0_1 and xorg 7.2.
>Fix:

	

--- rdesktop-1.5.0_2.diff begins here ---
diff -ruN rdesktop.bak/Makefile rdesktop/Makefile
--- rdesktop.bak/Makefile	Sat May 19 22:18:54 2007
+++ rdesktop/Makefile	Fri Jun  1 11:30:39 2007
@@ -7,7 +7,7 @@
 
 PORTNAME=	rdesktop
 PORTVERSION=	1.5.0
-PORTREVISION?=	1
+PORTREVISION?=	2
 CATEGORIES=	net comms
 MASTER_SITES=	${MASTER_SITE_SOURCEFORGE}
 MASTER_SITE_SUBDIR=	${PORTNAME}
diff -ruN rdesktop.bak/files/patch-xwin.c rdesktop/files/patch-xwin.c
--- rdesktop.bak/files/patch-xwin.c	Thu Jan  1 01:00:00 1970
+++ rdesktop/files/patch-xwin.c	Fri Jun  1 11:30:39 2007
@@ -0,0 +1,11 @@
+--- xwin.c.orig	Fri Jun  1 10:27:15 2007
++++ xwin.c	Fri Jun  1 10:28:26 2007
+@@ -3219,7 +3219,7 @@
+ 		return;
+ 
+ 	image = XCreateImage(g_display, g_visual, g_depth, ZPixmap, 0,
+-			     (char *) data, cx, cy, BitmapPad(g_display), cx * g_bpp / 8);
++			     (char *) data, cx, cy, g_bpp, 0);
+ 
+ 	if (g_ownbackstore)
+ 	{
--- rdesktop-1.5.0_2.diff ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list