From f022f1c7640491ec44b4f5b96bcb1dd502c7d453 Mon Sep 17 00:00:00 2001 From: "Enrico Weigelt, metux IT consult" Date: Thu, 8 May 2025 16:40:11 +0200 Subject: [PATCH] Xi: fix double-free warning in FreePointerBarrierClient() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit | ../Xi/xibarriers.c: In function ‘FreePointerBarrierClient’: | ../Xi/xibarriers.c:127:9: warning: double-‘free’ of ‘pbd’ [CWE-415] [-Wanalyzer-double-free] | 127 | free(pbd); | | ^~~~~~~~~ Signed-off-by: Enrico Weigelt, metux IT consult --- Xi/xibarriers.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Xi/xibarriers.c b/Xi/xibarriers.c index 747c8d815..47b0f8c47 100644 --- a/Xi/xibarriers.c +++ b/Xi/xibarriers.c @@ -123,8 +123,10 @@ static void FreePointerBarrierClient(struct PointerBarrierClient *c) { struct PointerBarrierDevice *pbd = NULL, *tmp = NULL; - xorg_list_for_each_entry_safe(pbd, tmp, &c->per_device, entry) { - free(pbd); + if (!xorg_list_is_empty(&c->per_device)) { + xorg_list_for_each_entry_safe(pbd, tmp, &c->per_device, entry) { + free(pbd); + } } free(c); }