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 <noreply@anthropic.com>
This commit is contained in:
Wim Taymans 2026-04-29 18:15:22 +02:00
parent 344c9265a6
commit 3a3579ed68

View file

@ -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);