From fe301f124aeb7503b181eba74c159d471f4480c0 Mon Sep 17 00:00:00 2001 From: "Enrico Weigelt, metux IT consult" Date: Wed, 7 May 2025 13:01:20 +0200 Subject: [PATCH] (!1967) dix: make DeviceEnterLeaveEvent() anaylzer-friendly The analyzer giving a false alarm on potential NULL-pointer deref here. Even though that case can't happen, it's also not immediately clear to the human reader. To make both the analyzer as well human reader happier, reformulating this function to by using fast-return pattern. Signed-off-by: Enrico Weigelt, metux IT consult --- dix/events.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/dix/events.c b/dix/events.c index a257dd284..585f84c1f 100644 --- a/dix/events.c +++ b/dix/events.c @@ -4745,7 +4745,6 @@ DeviceEnterLeaveEvent(DeviceIntPtr mouse, int mode, int detail, WindowPtr pWin, Window child) { GrabPtr grab = mouse->deviceGrab.grab; - xXIEnterEvent *event; WindowPtr focus; int filter; int btlen, len, i; @@ -4759,7 +4758,10 @@ DeviceEnterLeaveEvent(DeviceIntPtr mouse, btlen = bytes_to_int32(btlen); len = sizeof(xXIEnterEvent) + btlen * 4; - event = calloc(1, len); + xXIEnterEvent *event = calloc(1, len); + if (!event) + return; + event->type = GenericEvent; event->extension = IReqCode; event->evtype = type;