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