Source-Changes archive

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

CVS commit: xsrc/external/mit/libXrandr/dist/src

Module Name:    xsrc
Committed By:   wiz
Date:           Mon Jul  1 19:46:01 UTC 2013

Modified Files:
        xsrc/external/mit/libXrandr/dist/src: XrrProvider.c

Log Message:
Apply suggested patch from Alan Coopersmith:

XRRGetProviderInfo returned bad associated_capability list in 64-bit

Unlike most of the values returned by this function, which are arrays
of XIDs (long int), associated_capability is defined as an array of
unsigned int.   _XRead32 reads 32-bit values from the wire protocol
and writes them to the provided buffer as an array of long ints, even
if that means expanding them from 32-bit to 64-bit.   Doing that for
associated_capability resulted in a garbage value between each actual
value, and overflowing the provided buffer into the space for the
provider name (which is written later and would overwrite the overflowed

Created xhiv libXrandr/XRRGetProviderInfo test case to test & confirm.

Signed-off-by: Alan Coopersmith <>

Fixes PR 47979, reported and fix tested by martin@

To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 xsrc/external/mit/libXrandr/dist/src/XrrProvider.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Home | Main Index | Thread Index | Old Index