From cab1d905d62c293eacd1291564c577426b3b24ff Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Thu, 17 Feb 2022 18:02:52 +0100 Subject: [PATCH] proxy: break after the first leaked listener The list entry might be corrupt and we should not try to follow it. --- src/pipewire/proxy.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/pipewire/proxy.c b/src/pipewire/proxy.c index b98b53e26..b3eff7250 100644 --- a/src/pipewire/proxy.c +++ b/src/pipewire/proxy.c @@ -299,12 +299,16 @@ void pw_proxy_unref(struct pw_proxy *proxy) #if DEBUG_LISTENERS { struct spa_hook *h; - spa_list_for_each(h, &proxy->object_listener_list.list, link) + spa_list_for_each(h, &proxy->object_listener_list.list, link) { pw_log_warn("%p: proxy %u: leaked object listener %p", proxy, proxy->id, h); - spa_list_for_each(h, &proxy->listener_list.list, link) + break; + } + spa_list_for_each(h, &proxy->listener_list.list, link) { pw_log_warn("%p: proxy %u: leaked listener %p", proxy, proxy->id, h); + break; + } } #endif free(proxy);