From 746648be850a8dc719a7f17851ce1694847ade2f Mon Sep 17 00:00:00 2001 From: "Enrico Weigelt, metux IT consult" Date: Wed, 7 May 2025 14:06:04 +0200 Subject: [PATCH] Xext: sync: protect init_system_idle_counter() from allocation failure Signed-off-by: Enrico Weigelt, metux IT consult --- Xext/sync.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/Xext/sync.c b/Xext/sync.c index cab73be92..ff91416e1 100644 --- a/Xext/sync.c +++ b/Xext/sync.c @@ -2818,20 +2818,24 @@ init_system_idle_counter(const char *name, int deviceid) IdleTimeQueryValue(NULL, &idle); + IdleCounterPriv *priv = calloc(1, sizeof(IdleCounterPriv)); + if (!priv) + return NULL; + idle_time_counter = SyncCreateSystemCounter(name, idle, resolution, XSyncCounterUnrestricted, IdleTimeQueryValue, IdleTimeBracketValues); - if (idle_time_counter != NULL) { - IdleCounterPriv *priv = malloc(sizeof(IdleCounterPriv)); - - priv->value_less = priv->value_greater = NULL; - priv->deviceid = deviceid; - - idle_time_counter->pSysCounterInfo->private = priv; + if (!idle_time_counter) { + free(priv); + return NULL; } + priv->value_less = priv->value_greater = NULL; + priv->deviceid = deviceid; + + idle_time_counter->pSysCounterInfo->private = priv; return idle_time_counter; }