On Fri, Mar 25, 2005 at 05:07:55PM -0500, Branden Robinson wrote:
> I'm attaching a patch, based on freedesktop.org CVS (xorg module).

It would, of course, be helpful if I had actually attached the patch.

Doing so now.

-- 
G. Branden Robinson                |     Wanton killing of innocent
Debian GNU/Linux                   |     civilians is terrorism, not a war
[EMAIL PROTECTED]                 |     against terrorism.
http://people.debian.org/~branden/ |     -- Noam Chomsky
Index: xc/include/extensions/xf86mscstr.h
===================================================================
RCS file: /cvs/xorg/xc/include/extensions/xf86mscstr.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- xc/include/extensions/xf86mscstr.h  23 Apr 2004 18:43:06 -0000      1.2
+++ xc/include/extensions/xf86mscstr.h  15 Dec 2004 00:34:34 -0000      1.3
@@ -14,7 +14,7 @@
 #define XF86MISCNAME           "XFree86-Misc"
 
 #define XF86MISC_MAJOR_VERSION 0       /* current version numbers */
-#define XF86MISC_MINOR_VERSION 8
+#define XF86MISC_MINOR_VERSION 9
 
 typedef struct _XF86MiscQueryVersion {
     CARD8      reqType;                /* always XF86MiscReqCode */
--- xc/programs/Xserver/Xext/xf86misc.c 2004-07-09 00:08:16.000000000 -0500
+++ xc/programs/Xserver/Xext/xf86misc.c 2005-02-27 23:32:26.000000000 -0500
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/Xext/xf86misc.c,v 3.38 2003/04/03 16:15:47 
dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/Xext/xf86misc.c,v 3.41 2003/11/17 22:20:27 
dawes Exp $ */
 
 /*
  * Copyright (c) 1995, 1996  The XFree86 Project, Inc
@@ -54,9 +54,7 @@
 #define MPRIV(c) ((c)->devPrivates[MiscClientPrivateIndex].ptr)
 
 static void XF86MiscResetProc(
-#if NeedFunctionPrototypes
     ExtensionEntry* /* extEntry */
-#endif
 );
 
 static void
@@ -104,7 +102,9 @@
 static DISPATCH_PROC(SProcXF86MiscSetSaver);
 #endif
 
+#if 0
 static unsigned char XF86MiscReqCode = 0;
+#endif
 
 #ifdef DEBUG
 # define DEBUG_P(x) ErrorF(x"\n");
@@ -150,7 +150,9 @@
                                SProcXF86MiscDispatch,
                                XF86MiscResetProc,
                                StandardMinorOpcode))) {
+#if 0
        XF86MiscReqCode = (unsigned char)extEntry->base;
+#endif
        miscErrorBase = extEntry->errorBase;
     }
 }
@@ -356,14 +358,13 @@
     
     if (xf86GetVerbosity() > 1) {
        ErrorF("SetMouseSettings - type: %d brate: %d srate: %d chdmid: %d\n",
-               stuff->mousetype, stuff->baudrate,
-               stuff->samplerate, stuff->chordmiddle);
-       ErrorF("                   em3but: %d em3tim: %d res: %d flags: %d\n",
-               stuff->emulate3buttons, stuff->emulate3timeout,
-               stuff->resolution, stuff->flags);
+               (int)stuff->mousetype, (int)stuff->baudrate,
+               (int)stuff->samplerate, stuff->chordmiddle);
+       ErrorF("                   em3but: %d em3tim: %d res: %d flags: %ld\n",
+               stuff->emulate3buttons, (int)stuff->emulate3timeout,
+               (int)stuff->resolution, (unsigned long)stuff->flags);
     }
 
-    
     if ((mouse = MiscExtCreateStruct(MISC_POINTER)) == (pointer) 0)
        return BadAlloc;
 
@@ -429,8 +430,8 @@
 
     if (xf86GetVerbosity() > 1)
        ErrorF("SetKbdSettings - type: %d rate: %d delay: %d snumlk: %d\n",
-               stuff->kbdtype, stuff->rate,
-               stuff->delay, stuff->servnumlock);
+               (int)stuff->kbdtype, (int)stuff->rate,
+               (int)stuff->delay, stuff->servnumlock);
 
     if ((kbd = MiscExtCreateStruct(MISC_KEYBOARD)) == (pointer) 0)
        return BadAlloc;
@@ -581,20 +582,29 @@
        strncpy(msgtype,(char*)(&stuff[1]),stuff->typelen);
     } else return BadValue;
     if (stuff->vallen) {
-       if (!(msgval = xalloc(stuff->vallen)))
+       if (!(msgval = xalloc(stuff->vallen))) {
+           xfree(msgtype);
            return BadAlloc;
-       strncpy(msgval,(char*)(&stuff[1] + ((stuff->typelen + 3) & ~3)),
+       }
+       strncpy(msgval,(char*)((char*)&stuff[1] + ((stuff->typelen + 3) & ~3)),
                        stuff->vallen);
-    } else return BadValue;
+    } else {
+       xfree(msgtype);
+       return BadValue;
+    }
 
-    if ((retval= MiscExtPassMessage(stuff->screen,msgtype,msgval,&retstr)) != 
0)
+    if ((retval = MiscExtPassMessage(stuff->screen,msgtype,msgval,&retstr)) != 
0) {
+       xfree(msgtype);
+       xfree(msgval);
        return retval;
+    }
 
     rep.type = X_Reply;
     rep.sequenceNumber = client->sequence;
     rep.mesglen = (retstr? strlen(retstr): 0);
     rep.length = (SIZEOF(xXF86MiscPassMessageReply) - SIZEOF(xGenericReply) +
                  ((rep.mesglen + 3) & ~3)) >> 2;
+    rep.status = 0;
     
     if (client->swapped) {
        swaps(&rep.sequenceNumber, n);
@@ -606,6 +616,9 @@
     if (rep.mesglen)
         WriteToClient(client, rep.mesglen, (char *)retstr);
 
+    xfree(msgtype);
+    xfree(msgval);
+    
     return (client->noClientException);
 }
 

Attachment: signature.asc
Description: Digital signature

Reply via email to