Hello community,

here is the log from the commit of package xorg-x11-server for openSUSE:Factory 
checked in at 2011-11-10 16:08:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xorg-x11-server (Old)
 and      /work/SRC/openSUSE:Factory/.xorg-x11-server.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xorg-x11-server", Maintainer is "sndir...@suse.com"

Changes:
--------
--- /work/SRC/openSUSE:Factory/xorg-x11-server/xorg-x11-server.changes  
2011-10-19 13:36:12.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.xorg-x11-server.new/xorg-x11-server.changes     
2011-11-10 16:08:29.000000000 +0100
@@ -1,0 +2,10 @@
+Wed Nov  9 17:40:42 UTC 2011 - sndir...@suse.com
+
+- u_record-fix-sig11.patch
+  * If you aren't using the Record extension (and you aren't), you
+    can work around the bug by moving the code which accesses the
+    (non-existant) request buffer inside the loop looking at the
+    recording contexts (of which there should be none). 
+    (bnc #728964, fdo #36930)
+
+-------------------------------------------------------------------

New:
----
  u_record-fix-sig11.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ xorg-x11-server.spec ++++++
--- /var/tmp/diff_new_pack.FBrTgk/_old  2011-11-10 16:08:33.000000000 +0100
+++ /var/tmp/diff_new_pack.FBrTgk/_new  2011-11-10 16:08:33.000000000 +0100
@@ -94,6 +94,7 @@
 Patch220:       Use-external-tool-for-creating-backtraces-on-crashes.patch
 Patch222:       sync-fix.patch
 Patch223:       U_Don-t-call-deleted-Block-WakeupHandler.patch
+Patch224:       u_record-fix-sig11.patch
 
 %description
 This package contains the X.Org Server.
@@ -202,6 +203,7 @@
 #%patch220 -p1
 %patch222 -p1
 %patch223 -p2
+%patch224 -p1
 
 %build
 pushd xorg-docs-*

++++++ u_record-fix-sig11.patch ++++++
Date: Mon, 07 Nov 2011 22:09:34 -0800
From: Keith Packard <kei...@keithp.com>
Subject: Re: X server SIGSEGV?

If you aren't using the Record extension (and you aren't), you can work
around the bug by moving the code which accesses the (non-existant)
request buffer inside the loop looking at the recording contexts (of
which there should be none):

diff --git a/record/record.c b/record/record.c
index 68311ac..9e36103 100644
--- a/record/record.c
+++ b/record/record.c
@@ -603,12 +603,10 @@ RecordAReply(CallbackListPtr *pcbl, pointer nulldata, 
pointer calldata)
     RecordContextPtr pContext;
     RecordClientsAndProtocolPtr pRCAP;
     int eci;
-    int majorop;
     ReplyInfoRec *pri = (ReplyInfoRec *)calldata;
     ClientPtr client = pri->client;
     REQUEST(xReq);
 
-    majorop = stuff->reqType;
     for (eci = 0; eci < numEnabledContexts; eci++)
     {
        pContext = ppAllContexts[eci];
@@ -616,6 +614,7 @@ RecordAReply(CallbackListPtr *pcbl, pointer nulldata, 
pointer calldata)
                                          NULL);
        if (pRCAP)
        {
+           int majorop = stuff->reqType;
            if (pContext->continuedReply)
            {
                RecordAProtocolElement(pContext, client, XRecordFromServer,

I'll see if I can't get someone to fix this for real...
-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to