Permalink
Browse files

Add a patch to fix a couple of cases of use before initialized in the…

… new

xorg-server.  Without this patch, xorg-server compiled with clang segfaults.
Bump portrevision since clang is default compiler on current.

Reviewed by:	kwm
Approved by:	kwm, miwi (mentors, implicit)


git-svn-id: svn+ssh://svn.freebsd.org/ports/head@308898 aed309b6-a8cd-e111-996c-001c23d10e55
  • Loading branch information...
1 parent dfe23de commit 819cd6a0c5810dd6953fff6adb34a518579e8de8 zeising committed Dec 14, 2012
Showing with 56 additions and 2 deletions.
  1. +3 −2 x11-servers/xorg-server/Makefile
  2. +53 −0 x11-servers/xorg-server/files/extra-clang
@@ -26,10 +26,11 @@ SLAVE_PORT?= no
.if defined(WITH_NEW_XORG)
XORG_VERSION= 1.10.6
-XORG_REVISION= 1
+XORG_REVISION= 2
PLIST_SUB+= OLD="@comment " NEW=""
EXTRA_PATCHES+= ${FILESDIR}/extra-hw_dmx_glxProxy_compsize.h \
- ${FILESDIR}/extra-hw_dmx_glxProxy_glxcmds.h
+ ${FILESDIR}/extra-hw_dmx_glxProxy_glxcmds.h \
+ ${FILESDIR}/extra-clang
.else
XORG_VERSION= 1.7.7
XORG_REVISION= 6
@@ -0,0 +1,53 @@
+--- hw/xfree86/common/xf86Xinput.c.orig 2012-12-13 23:58:55.673738569 +0100
++++ hw/xfree86/common/xf86Xinput.c 2012-12-13 23:59:52.528738525 +0100
+@@ -479,7 +479,7 @@
+ MatchAttrToken(const char *attr, struct list *patterns,
+ int (*compare)(const char *attr, const char *pattern))
+ {
+- const xf86MatchGroup *group;
++ const xf86MatchGroup *group = NULL;
+
+ /* If there are no patterns, accept the match */
+ if (list_is_empty(patterns))
+--- hw/xfree86/parser/InputClass.c.orig 2012-12-14 00:03:07.149734651 +0100
++++ hw/xfree86/parser/InputClass.c 2012-12-14 00:04:09.522735172 +0100
+@@ -338,7 +338,8 @@
+ XF86ConfInputClassPtr prev;
+
+ while (ptr) {
+- xf86MatchGroup *group, *next;
++ xf86MatchGroup *group = NULL;
++ xf86MatchGroup *next;
+ char **list;
+
+ TestFree(ptr->identifier);
+--- hw/xfree86/dri2/dri2.c.orig 2012-12-14 00:06:39.680738243 +0100
++++ hw/xfree86/dri2/dri2.c 2012-12-14 00:08:14.310729622 +0100
+@@ -201,7 +201,7 @@
+ static DRI2DrawableRefPtr
+ DRI2LookupDrawableRef(DRI2DrawablePtr pPriv, XID id)
+ {
+- DRI2DrawableRefPtr ref;
++ DRI2DrawableRefPtr ref = NULL;
+
+ list_for_each_entry(ref, &pPriv->reference_list, link) {
+ if (ref->id == id)
+@@ -267,7 +267,8 @@
+ {
+ DRI2DrawablePtr pPriv = p;
+ DRI2ScreenPtr ds = pPriv->dri2_screen;
+- DRI2DrawableRefPtr ref, next;
++ DRI2DrawableRefPtr ref = NULL;
++ DRI2DrawableRefPtr next;
+ WindowPtr pWin;
+ PixmapPtr pPixmap;
+ DrawablePtr pDraw;
+@@ -534,7 +535,7 @@
+ DRI2InvalidateDrawable(DrawablePtr pDraw)
+ {
+ DRI2DrawablePtr pPriv = DRI2GetDrawable(pDraw);
+- DRI2DrawableRefPtr ref;
++ DRI2DrawableRefPtr ref = NULL;
+
+ if (!pPriv)
+ return;

0 comments on commit 819cd6a

Please sign in to comment.