xkb: Extra sanity checks to prevent dev->key == NULL dereferencing.
(cherry picked from commit 95fc59a199
)
This commit is contained in:
parent
336df75f12
commit
4970d757a7
|
@ -109,7 +109,7 @@ Time time;
|
|||
register CARD16 changed,bState;
|
||||
|
||||
interest = kbd->xkb_interest;
|
||||
if (!interest)
|
||||
if (!interest || !kbd->key || !kbd->key->xkbInfo)
|
||||
return;
|
||||
xkbi = kbd->key->xkbInfo;
|
||||
state= &xkbi->state;
|
||||
|
@ -168,6 +168,9 @@ XkbSrvInfoPtr xkbi;
|
|||
unsigned time = 0,initialized;
|
||||
CARD16 changed;
|
||||
|
||||
if (!kbd->key || !kbd->key->xkbInfo)
|
||||
return;
|
||||
|
||||
xkbi = kbd->key->xkbInfo;
|
||||
initialized= 0;
|
||||
|
||||
|
@ -291,7 +294,7 @@ XkbInterestPtr interest;
|
|||
Time time = 0;
|
||||
|
||||
interest = kbd->xkb_interest;
|
||||
if (!interest)
|
||||
if (!interest || !kbd->key || !kbd->key->xkbInfo)
|
||||
return;
|
||||
xkbi = kbd->key->xkbInfo;
|
||||
|
||||
|
@ -401,6 +404,9 @@ CARD16 pitch,duration;
|
|||
Time time = 0;
|
||||
XID winID = 0;
|
||||
|
||||
if (!kbd->key || !kbd->key->xkbInfo)
|
||||
return;
|
||||
|
||||
xkbi = kbd->key->xkbInfo;
|
||||
|
||||
if ((force||(xkbi->desc->ctrls->enabled_ctrls&XkbAudibleBellMask))&&
|
||||
|
@ -616,11 +622,12 @@ XkbSrvInfoPtr xkbi;
|
|||
XkbInterestPtr interest;
|
||||
Time time = 0;
|
||||
|
||||
xkbi = kbd->key->xkbInfo;
|
||||
interest = kbd->xkb_interest;
|
||||
if (!interest)
|
||||
if (!interest || !kbd->key || !kbd->key->xkbInfo)
|
||||
return;
|
||||
|
||||
xkbi = kbd->key->xkbInfo;
|
||||
|
||||
initialized = 0;
|
||||
pEv->mods= xkbi->state.mods;
|
||||
pEv->group= xkbi->state.group;
|
||||
|
@ -996,6 +1003,10 @@ unsigned long autoCtrls,autoValues;
|
|||
ClientPtr client = NULL;
|
||||
|
||||
found= False;
|
||||
|
||||
if (!dev->key || !dev->key->xkbInfo)
|
||||
return found;
|
||||
|
||||
autoCtrls= autoValues= 0;
|
||||
if ( dev->xkb_interest ) {
|
||||
interest = dev->xkb_interest;
|
||||
|
|
Loading…
Reference in New Issue
Block a user