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
data).

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

Signed-off-by: Alan Coopersmith <alan.coopersmith%oracle.com@localhost>

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