From 098008879b3a9d433072a15818d204a88f232d54 Mon Sep 17 00:00:00 2001 From: "Enrico Weigelt, metux IT consult" Date: Thu, 17 Apr 2025 17:54:33 +0200 Subject: [PATCH] Xres: XResQueryClientIds: enable security filtering Pass each client we're considering to report through XaceHookClientAccess(), so security extensions have a chance to filter them out. Signed-off-by: Enrico Weigelt, metux IT consult --- Xext/xres.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Xext/xres.c b/Xext/xres.c index 6c762e660..caf835d63 100644 --- a/Xext/xres.c +++ b/Xext/xres.c @@ -545,7 +545,9 @@ ConstructClientIds(ClientPtr client, if (specs[specIdx].client == 0) { int c; for (c = 0; c < currentMaxClients; ++c) { - if (clients[c]) { + if (clients[c] && + (XaceHookClientAccess(client, clients[c], DixReadAccess) + != Success)) { if (!ConstructClientIdValue(client, clients[c], specs[specIdx].mask, ctx)) { return BadAlloc; @@ -555,7 +557,9 @@ ConstructClientIds(ClientPtr client, } else { int clientID = CLIENT_ID(specs[specIdx].client); - if ((clientID < currentMaxClients) && clients[clientID]) { + if ((clientID < currentMaxClients) && clients[clientID] && + (XaceHookClientAccess(client, clients[clientID], DixReadAccess) + != Success)) { if (!ConstructClientIdValue(client, clients[clientID], specs[specIdx].mask, ctx)) { return BadAlloc;