[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#621702: [PATCH libXRes] Compute number of bytes correctly in XResQueryClientPixmapBytes



On 06/30/13 11:09 AM, Julien Cristau wrote:
64-bit servers send the upper 32-bit in bytes_overflow.  We were
multiplying by 2^32 - 1 instead of 2^32 when putting things back
together.

Debian bug#621702

Reported-by: Kevin Ryde <user42@zip.com.au>
Signed-off-by: Julien Cristau <jcristau@debian.org>
---
  src/XRes.c |    2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/XRes.c b/src/XRes.c
index 51e905f..89fab82 100644
--- a/src/XRes.c
+++ b/src/XRes.c
@@ -240,7 +240,7 @@ Status XResQueryClientPixmapBytes (
      }

  #ifdef LONG64
-    *bytes = (rep.bytes_overflow * 4294967295) + rep.bytes;
+    *bytes = (rep.bytes_overflow * 4294967296UL) + rep.bytes;
  #else
      *bytes = rep.bytes_overflow ? 0xffffffff : rep.bytes;
  #endif


Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>

--
	-Alan Coopersmith-              alan.coopersmith@oracle.com
	 Oracle Solaris Engineering - http://blogs.oracle.com/alanc


Reply to: