xkb: length-check XkbListComponents before accessing the fields
Each string length field was accessed before checking whether that byte was actually part of the client request. No real harm here since it would immediately fail with BadLength anyway, but let's be correct here. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
44ae6f4419
commit
1bb7767f19
|
@ -5870,6 +5870,8 @@ ProcXkbListComponents(ClientPtr client)
|
|||
* length wrong. */
|
||||
str = (unsigned char *) &stuff[1];
|
||||
for (i = 0; i < 6; i++) {
|
||||
if (!_XkbCheckRequestBounds(client, stuff, str, str + 1))
|
||||
return BadLength;
|
||||
size = *((uint8_t *)str);
|
||||
len = (str + size + 1) - ((unsigned char *) stuff);
|
||||
if ((XkbPaddedSize(len) / 4) > stuff->length)
|
||||
|
|
Loading…
Reference in New Issue