From 02e6639547361578e856a079814caef08db5260f Mon Sep 17 00:00:00 2001 From: Alan Coopersmith Date: Sun, 8 Sep 2024 09:17:17 -0700 Subject: [PATCH] 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 (cherry picked from commit 25762834c9a5da3a7c672d89a7da73297252d905) Part-of: --- dix/eventconvert.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/dix/eventconvert.c b/dix/eventconvert.c index 53b8c79e3..5364d75d6 100644 --- a/dix/eventconvert.c +++ b/dix/eventconvert.c @@ -683,6 +683,8 @@ eventToDeviceEvent(DeviceEvent *ev, xEvent **xi) len += vallen * 4; /* valuators mask */ *xi = calloc(1, len); + if (*xi == NULL) + return BadAlloc; xde = (xXIDeviceEvent *) * xi; xde->type = GenericEvent; xde->extension = IReqCode; @@ -751,6 +753,8 @@ eventToTouchOwnershipEvent(TouchOwnershipEvent *ev, xEvent **xi) xXITouchOwnershipEvent *xtoe; *xi = calloc(1, len); + if (*xi == NULL) + return BadAlloc; xtoe = (xXITouchOwnershipEvent *) * xi; xtoe->type = GenericEvent; xtoe->extension = IReqCode; @@ -781,6 +785,8 @@ eventToRawEvent(RawDeviceEvent *ev, xEvent **xi) len += vallen * 4; /* valuators mask */ *xi = calloc(1, len); + if (*xi == NULL) + return BadAlloc; raw = (xXIRawEvent *) * xi; raw->type = GenericEvent; raw->extension = IReqCode; @@ -816,6 +822,8 @@ eventToBarrierEvent(BarrierEvent *ev, xEvent **xi) int len = sizeof(xXIBarrierEvent); *xi = calloc(1, len); + if (*xi == NULL) + return BadAlloc; barrier = (xXIBarrierEvent*) *xi; barrier->type = GenericEvent; barrier->extension = IReqCode; @@ -845,6 +853,8 @@ eventToGesturePinchEvent(GestureEvent *ev, xEvent **xi) xXIGesturePinchEvent *xpe; *xi = calloc(1, len); + if (*xi == NULL) + return BadAlloc; xpe = (xXIGesturePinchEvent *) * xi; xpe->type = GenericEvent; xpe->extension = IReqCode; @@ -887,6 +897,8 @@ eventToGestureSwipeEvent(GestureEvent *ev, xEvent **xi) xXIGestureSwipeEvent *xde; *xi = calloc(1, len); + if (*xi == NULL) + return BadAlloc; xde = (xXIGestureSwipeEvent *) * xi; xde->type = GenericEvent; xde->extension = IReqCode;