From e3a213f63c84d41c54e52f6e0a8ac6a1f4b4dfd1 Mon Sep 17 00:00:00 2001 From: "Enrico Weigelt, metux IT consult" Date: Tue, 6 May 2025 13:55:54 +0200 Subject: [PATCH] =?UTF-8?q?dix:=20protect=20against=20alloc=20failure=20in?= =?UTF-8?q?=20=E2=80=98DeviceFocusEvent()?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes analyzer warning: | ../dix/enterleave.c: In function ‘DeviceFocusEvent’: | ../dix/enterleave.c:788:20: warning: dereference of possibly-NULL ‘xi2event’ [CWE-690] [-Wanalyzer-possible-null-dereference] | 788 | xi2event->type = GenericEvent; | ‘DoFocusEvents’: events 1-4 Signed-off-by: Enrico Weigelt, metux IT consult --- dix/enterleave.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/dix/enterleave.c b/dix/enterleave.c index b814b6493..83f4621ad 100644 --- a/dix/enterleave.c +++ b/dix/enterleave.c @@ -771,7 +771,6 @@ DeviceFocusEvent(DeviceIntPtr dev, int type, int mode, int detail, WindowPtr pWin) { deviceFocus event; - xXIFocusInEvent *xi2event; int btlen, len, i; DeviceIntPtr mouse = InputDevIsFloating(dev) ? @@ -783,7 +782,10 @@ DeviceFocusEvent(DeviceIntPtr dev, int type, int mode, int detail, btlen = bytes_to_int32(btlen); len = sizeof(xXIFocusInEvent) + btlen * 4; - xi2event = calloc(1, len); + xXIFocusInEvent *xi2event = calloc(1, len); + if (!xi2event) + return; + xi2event->type = GenericEvent; xi2event->extension = IReqCode; xi2event->evtype = type;