From 3a3579ed6884947509c647942c207c4cd98aa889 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Wed, 29 Apr 2026 18:15:22 +0200 Subject: [PATCH] security: fix operation counter leak in operation_complete operation_complete removed the operation from the list and freed it but never decremented client->n_operations. After 64 completed operations the client would be permanently locked out. Co-Authored-By: Claude Opus 4.7 --- src/modules/module-protocol-pulse/operation.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/modules/module-protocol-pulse/operation.c b/src/modules/module-protocol-pulse/operation.c index 6c04abe8c..8a911bd14 100644 --- a/src/modules/module-protocol-pulse/operation.c +++ b/src/modules/module-protocol-pulse/operation.c @@ -69,6 +69,7 @@ void operation_complete(struct operation *o) pw_log_info("[%s]: tag:%u complete", client->name, o->tag); spa_list_remove(&o->link); + client->n_operations--; if (o->callback) o->callback(o->data, client, o->tag);