From f2c53622d29dd7ae3b42133b6019c6dec780ff1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barnab=C3=A1s=20P=C5=91cze?= Date: Fri, 3 Jun 2022 01:26:58 +0200 Subject: [PATCH] pipewire-jack: use `jack_client_close()` to free client in error path The client needs to be cleaned up properly, otherwise references to its storage may remain, which can later result in use-after-frees. For example, the via the various embedded `spa_hook`s in it. See #2394 --- pipewire-jack/src/pipewire-jack.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pipewire-jack/src/pipewire-jack.c b/pipewire-jack/src/pipewire-jack.c index b75048b95..c4ef10aaf 100644 --- a/pipewire-jack/src/pipewire-jack.c +++ b/pipewire-jack/src/pipewire-jack.c @@ -3436,7 +3436,7 @@ server_failed: exit_unlock: pw_thread_loop_unlock(client->context.loop); exit: - free(client); + jack_client_close((jack_client_t *) client); return NULL; disabled: if (status)