Xext: xtest: extra NULL checks
Even though these probably never happen, it's still better having some (really cheap) extra checks, just in case. | ../Xext/xtest.c: In function ‘ProcXTestFakeInput’: | ../Xext/xtest.c:385:17: warning: dereference of NULL ‘dev’ [CWE-476] [-Wanalyzer-null-dereference] | 385 | if (!dev->key) | | ~~~^~~~~ | ../Xext/xtest.c:442:12: warning: dereference of NULL ‘dev’ [CWE-476] [-Wanalyzer-null-dereference] | 442 | if (dev->sendEventsProc) | | ~~~^~~~~~~~~~~~~~~~ Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This commit is contained in:
parent
c4642f2632
commit
6b7d35f71c
|
@ -384,7 +384,7 @@ ProcXTestFakeInput(ClientPtr client)
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case KeyPress:
|
case KeyPress:
|
||||||
case KeyRelease:
|
case KeyRelease:
|
||||||
if (!dev->key)
|
if ((!dev) || (!dev->key))
|
||||||
return BadDevice;
|
return BadDevice;
|
||||||
|
|
||||||
if (ev->u.u.detail < dev->key->xkbInfo->desc->min_key_code ||
|
if (ev->u.u.detail < dev->key->xkbInfo->desc->min_key_code ||
|
||||||
|
@ -396,7 +396,7 @@ ProcXTestFakeInput(ClientPtr client)
|
||||||
need_ptr_update = 0;
|
need_ptr_update = 0;
|
||||||
break;
|
break;
|
||||||
case MotionNotify:
|
case MotionNotify:
|
||||||
if (!dev->valuator)
|
if (!dev || !dev->valuator)
|
||||||
return BadDevice;
|
return BadDevice;
|
||||||
|
|
||||||
if (!(extension || ev->u.keyButtonPointer.root == None)) {
|
if (!(extension || ev->u.keyButtonPointer.root == None)) {
|
||||||
|
@ -427,7 +427,7 @@ ProcXTestFakeInput(ClientPtr client)
|
||||||
break;
|
break;
|
||||||
case ButtonPress:
|
case ButtonPress:
|
||||||
case ButtonRelease:
|
case ButtonRelease:
|
||||||
if (!dev->button)
|
if (!dev || !dev->button)
|
||||||
return BadDevice;
|
return BadDevice;
|
||||||
|
|
||||||
if (!ev->u.u.detail || ev->u.u.detail > dev->button->numButtons) {
|
if (!ev->u.u.detail || ev->u.u.detail > dev->button->numButtons) {
|
||||||
|
@ -441,7 +441,7 @@ ProcXTestFakeInput(ClientPtr client)
|
||||||
|
|
||||||
valuator_mask_set_range(&mask, firstValuator, numValuators, valuators);
|
valuator_mask_set_range(&mask, firstValuator, numValuators, valuators);
|
||||||
|
|
||||||
if (dev->sendEventsProc)
|
if (dev && dev->sendEventsProc)
|
||||||
(*dev->sendEventsProc) (dev, type, ev->u.u.detail, flags, &mask);
|
(*dev->sendEventsProc) (dev, type, ev->u.u.detail, flags, &mask);
|
||||||
|
|
||||||
if (need_ptr_update)
|
if (need_ptr_update)
|
||||||
|
|
Loading…
Reference in New Issue