[69690] trunk/dports/x11/xorg-server-devel

jeremyhu at macports.org jeremyhu at macports.org
Tue Jul 13 09:06:43 PDT 2010


Revision: 69690
          http://trac.macports.org/changeset/69690
Author:   jeremyhu at macports.org
Date:     2010-07-13 09:06:42 -0700 (Tue, 13 Jul 2010)
Log Message:
-----------
xorg-server-devel: Fix a possible memory corruption issue on ppc

Modified Paths:
--------------
    trunk/dports/x11/xorg-server-devel/Portfile

Added Paths:
-----------
    trunk/dports/x11/xorg-server-devel/files/0025-XQuartz-Avoid-a-crash-when-mistakenly-free-ing-in-Qu.patch

Modified: trunk/dports/x11/xorg-server-devel/Portfile
===================================================================
--- trunk/dports/x11/xorg-server-devel/Portfile	2010-07-13 16:04:43 UTC (rev 69689)
+++ trunk/dports/x11/xorg-server-devel/Portfile	2010-07-13 16:06:42 UTC (rev 69690)
@@ -5,6 +5,7 @@
 name		xorg-server-devel
 set my_name	xorg-server
 version		1.8.99.904
+revision        1
 categories	x11 devel
 maintainers	jeremyhu openmaintainer
 description	The X.org / Xquartz X server.
@@ -82,6 +83,7 @@
 	RAWCPP=${configure.cpp}
 
 patchfiles \
+        0025-XQuartz-Avoid-a-crash-when-mistakenly-free-ing-in-Qu.patch \
         0005-XQuartz-Remove-some-dead-code.patch \
         0006-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch \
         0007-fb-Revert-fb-changes-that-broke-XQuartz.patch

Added: trunk/dports/x11/xorg-server-devel/files/0025-XQuartz-Avoid-a-crash-when-mistakenly-free-ing-in-Qu.patch
===================================================================
--- trunk/dports/x11/xorg-server-devel/files/0025-XQuartz-Avoid-a-crash-when-mistakenly-free-ing-in-Qu.patch	                        (rev 0)
+++ trunk/dports/x11/xorg-server-devel/files/0025-XQuartz-Avoid-a-crash-when-mistakenly-free-ing-in-Qu.patch	2010-07-13 16:06:42 UTC (rev 69690)
@@ -0,0 +1,51 @@
+From 648d189548530fa23d97d1e8737f89d297f1c443 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston <jeremyhu at apple.com>
+Date: Tue, 13 Jul 2010 08:25:27 -0700
+Subject: [PATCH 25/29] XQuartz: Avoid a crash when mistakenly free()ing in QuartzSetCursor on some configs
+
+Signed-off-by: Jeremy Huddleston <jeremyhu at apple.com>
+---
+ hw/xquartz/xpr/xprCursor.c |    6 +++++-
+ 1 files changed, 5 insertions(+), 1 deletions(-)
+
+diff --git xorg-server-1.8.99.904/hw/xquartz/xpr/xprCursor.c xorg-server-1.8.99.904/hw/xquartz/xpr/xprCursor.c
+index 67fcbe7..a106e72 100644
+--- xorg-server-1.8.99.904/hw/xquartz/xpr/xprCursor.c
++++ xorg-server-1.8.99.904/hw/xquartz/xpr/xprCursor.c
+@@ -67,6 +67,7 @@ static Bool
+ load_cursor(CursorPtr src, int screen)
+ {
+     uint32_t *data;
++    Bool free_data = FALSE;
+     uint32_t rowbytes;
+     int width, height;
+     int hot_x, hot_y;
+@@ -95,6 +96,7 @@ load_cursor(CursorPtr src, int screen)
+         unsigned i;
+         rowbytes = src->bits->width * sizeof (CARD32);
+         data = malloc(rowbytes * src->bits->height);
++        free_data = TRUE;
+         if(!data) {
+             FatalError("Failed to allocate memory in %s\n", __func__);
+         }
+@@ -121,6 +123,7 @@ load_cursor(CursorPtr src, int screen)
+         /* round up to 8 pixel boundary so we can convert whole bytes */
+         rowbytes = ((src->bits->width * 4) + 31) & ~31;
+         data = malloc(rowbytes * src->bits->height);
++        free_data = TRUE;
+         if(!data) {
+             FatalError("Failed to allocate memory in %s\n", __func__);
+         }
+@@ -173,7 +176,8 @@ load_cursor(CursorPtr src, int screen)
+     }
+ 
+     err = xp_set_cursor(width, height, hot_x, hot_y, data, rowbytes);
+-    free(data);
++    if(free_data)
++        free(data);
+     return err == Success;
+ }
+ 
+-- 
+1.7.1.1
+
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20100713/1b0ee2f7/attachment.html>


More information about the macports-changes mailing list