diff --git a/xkb/xkb.c b/xkb/xkb.c index 0f5739b58..83c6250ad 100644 --- a/xkb/xkb.c +++ b/xkb/xkb.c @@ -5818,11 +5818,11 @@ GetComponentSpec(ClientPtr client, xkbGetKbdByNameReq *stuff, return NULL; } len = (*(unsigned char *) wire++); - if (!_XkbCheckRequestBounds(client, stuff, wire, wire + len)) { - *errRtrn = BadLength; - return NULL; - } if (len > 0) { + if (!_XkbCheckRequestBounds(client, stuff, wire, wire + len)) { + *errRtrn = BadLength; + return NULL; + } str = calloc(1, len + 1); if (str) { tmp = str;