Fix integer underflow in XkbSelectEvents()
Reported by Jan-Niklas Sohn working with Trend Micro Zero Day Initiative.
This commit is contained in:
parent
77c86a2898
commit
83d462e24d
@ -76,7 +76,7 @@ SProcXkbSelectEvents(ClientPtr client)
|
|||||||
register unsigned bit, ndx, maskLeft, dataLeft, size;
|
register unsigned bit, ndx, maskLeft, dataLeft, size;
|
||||||
|
|
||||||
from.c8 = (CARD8 *) &stuff[1];
|
from.c8 = (CARD8 *) &stuff[1];
|
||||||
dataLeft = (stuff->length * 4) - SIZEOF(xkbSelectEventsReq);
|
dataLeft = (client->req_len * 4) - SIZEOF(xkbSelectEventsReq);
|
||||||
maskLeft = (stuff->affectWhich & (~XkbMapNotifyMask));
|
maskLeft = (stuff->affectWhich & (~XkbMapNotifyMask));
|
||||||
for (ndx = 0, bit = 1; (maskLeft != 0); ndx++, bit <<= 1) {
|
for (ndx = 0, bit = 1; (maskLeft != 0); ndx++, bit <<= 1) {
|
||||||
if (((bit & maskLeft) == 0) || (ndx == XkbMapNotify))
|
if (((bit & maskLeft) == 0) || (ndx == XkbMapNotify))
|
||||||
|
Loading…
Reference in New Issue
Block a user