From 04d7fe797fe152b7e44bedff562d5e41d8d3132a 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 24996b372..16098dfe8 100644 --- a/dix/events.c +++ b/dix/events.c @@ -4747,7 +4747,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; @@ -4761,7 +4760,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;