diff --git a/xkb/xkb.c b/xkb/xkb.c index d7d51f9be..48f11cce0 100644 --- a/xkb/xkb.c +++ b/xkb/xkb.c @@ -6025,6 +6025,9 @@ ProcXkbGetKbdByName(ClientPtr client) if (stuff->load && dev->hasDdxKeymap) return BadAccess; + CHK_MASK_LEGAL(0x01, stuff->want, XkbGBN_AllComponentsMask); + CHK_MASK_LEGAL(0x02, stuff->need, XkbGBN_AllComponentsMask); + xkb = dev->key->xkbInfo->desc; status = Success; str = (unsigned char *) &stuff[1]; @@ -6055,9 +6058,6 @@ ProcXkbGetKbdByName(ClientPtr client) return status; } - CHK_MASK_LEGAL(0x01, stuff->want, XkbGBN_AllComponentsMask); - CHK_MASK_LEGAL(0x02, stuff->need, XkbGBN_AllComponentsMask); - if (stuff->load) fwant = XkbGBN_AllComponentsMask; else