Revision: 5124
          http://sourceforge.net/p/tigervnc/code/5124
Author:   ossman_
Date:     2013-07-01 12:46:45 +0000 (Mon, 01 Jul 2013)
Log Message:
-----------
Fix bad size calculation in GetQueryConnect handler as well
as an endian conversion fix. Patch by Christian Steinle.

Modified Paths:
--------------
    trunk/unix/xserver/hw/vnc/vncExtInit.cc

Modified: trunk/unix/xserver/hw/vnc/vncExtInit.cc
===================================================================
--- trunk/unix/xserver/hw/vnc/vncExtInit.cc     2013-06-20 11:47:28 UTC (rev 
5123)
+++ trunk/unix/xserver/hw/vnc/vncExtInit.cc     2013-07-01 12:46:45 UTC (rev 
5124)
@@ -1025,21 +1025,23 @@
   rep.addrLen = qcTimeout ? strlen(qcAddress) : 0;
   rep.userLen = qcTimeout ? strlen(qcUsername) : 0;
   rep.opaqueId = (CARD32)(long)queryConnectId;
-  rep.length = (rep.userLen + rep.addrLen + 3) >> 2;
+  rep.length = ((rep.userLen + 3) >> 2) + ((rep.addrLen + 3) >> 2);
   if (client->swapped) {
 #if XORG < 112
     int n;
     swaps(&rep.sequenceNumber, n);
+    swapl(&rep.addrLen, n);
     swapl(&rep.userLen, n);
-    swapl(&rep.addrLen, n);
     swapl(&rep.timeout, n);
     swapl(&rep.opaqueId, n);
+    swapl(&rep.length, n);
 #else
     swaps(&rep.sequenceNumber);
+    swapl(&rep.addrLen);
     swapl(&rep.userLen);
-    swapl(&rep.addrLen);
     swapl(&rep.timeout);
     swapl(&rep.opaqueId);
+    swapl(&rep.length);
 #endif
   }
   WriteToClient(client, sizeof(xVncExtGetQueryConnectReply), (char *)&rep);

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
Tigervnc-commits mailing list
Tigervnc-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tigervnc-commits

Reply via email to