dix: check for calloc() failure in Xi event conversion routines

Clears up 12 -Wanalyzer-possible-null-dereference warnings from gcc 14.1

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1673>
This commit is contained in:
Alan Coopersmith 2024-09-08 09:17:17 -07:00 committed by Enrico Weigelt, metux IT consult
parent ebc593d92c
commit 6939e4f7ea

View File

@ -683,6 +683,8 @@ eventToDeviceEvent(DeviceEvent *ev, xEvent **xi)
len += vallen * 4; /* valuators mask */ len += vallen * 4; /* valuators mask */
*xi = calloc(1, len); *xi = calloc(1, len);
if (*xi == NULL)
return BadAlloc;
xde = (xXIDeviceEvent *) * xi; xde = (xXIDeviceEvent *) * xi;
xde->type = GenericEvent; xde->type = GenericEvent;
xde->extension = IReqCode; xde->extension = IReqCode;
@ -751,6 +753,8 @@ eventToTouchOwnershipEvent(TouchOwnershipEvent *ev, xEvent **xi)
xXITouchOwnershipEvent *xtoe; xXITouchOwnershipEvent *xtoe;
*xi = calloc(1, len); *xi = calloc(1, len);
if (*xi == NULL)
return BadAlloc;
xtoe = (xXITouchOwnershipEvent *) * xi; xtoe = (xXITouchOwnershipEvent *) * xi;
xtoe->type = GenericEvent; xtoe->type = GenericEvent;
xtoe->extension = IReqCode; xtoe->extension = IReqCode;
@ -781,6 +785,8 @@ eventToRawEvent(RawDeviceEvent *ev, xEvent **xi)
len += vallen * 4; /* valuators mask */ len += vallen * 4; /* valuators mask */
*xi = calloc(1, len); *xi = calloc(1, len);
if (*xi == NULL)
return BadAlloc;
raw = (xXIRawEvent *) * xi; raw = (xXIRawEvent *) * xi;
raw->type = GenericEvent; raw->type = GenericEvent;
raw->extension = IReqCode; raw->extension = IReqCode;
@ -816,6 +822,8 @@ eventToBarrierEvent(BarrierEvent *ev, xEvent **xi)
int len = sizeof(xXIBarrierEvent); int len = sizeof(xXIBarrierEvent);
*xi = calloc(1, len); *xi = calloc(1, len);
if (*xi == NULL)
return BadAlloc;
barrier = (xXIBarrierEvent*) *xi; barrier = (xXIBarrierEvent*) *xi;
barrier->type = GenericEvent; barrier->type = GenericEvent;
barrier->extension = IReqCode; barrier->extension = IReqCode;
@ -845,6 +853,8 @@ eventToGesturePinchEvent(GestureEvent *ev, xEvent **xi)
xXIGesturePinchEvent *xpe; xXIGesturePinchEvent *xpe;
*xi = calloc(1, len); *xi = calloc(1, len);
if (*xi == NULL)
return BadAlloc;
xpe = (xXIGesturePinchEvent *) * xi; xpe = (xXIGesturePinchEvent *) * xi;
xpe->type = GenericEvent; xpe->type = GenericEvent;
xpe->extension = IReqCode; xpe->extension = IReqCode;
@ -887,6 +897,8 @@ eventToGestureSwipeEvent(GestureEvent *ev, xEvent **xi)
xXIGestureSwipeEvent *xde; xXIGestureSwipeEvent *xde;
*xi = calloc(1, len); *xi = calloc(1, len);
if (*xi == NULL)
return BadAlloc;
xde = (xXIGestureSwipeEvent *) * xi; xde = (xXIGestureSwipeEvent *) * xi;
xde->type = GenericEvent; xde->type = GenericEvent;
xde->extension = IReqCode; xde->extension = IReqCode;