https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/39c8ed4f62172026036281691cd3b67b469a8629 From 39c8ed4f62172026036281691cd3b67b469a8629 Mon Sep 17 00:00:00 2001 From: Pauli Virtanen Date: Thu, 16 Sep 2021 19:18:52 +0300 Subject: [PATCH] media-session: don't use-after-free if linking node removed Should fix an ASAN crash. --- src/examples/media-session/policy-node.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/examples/media-session/policy-node.c b/src/examples/media-session/policy-node.c index d83613d0b..e273434fa 100644 --- a/src/examples/media-session/policy-node.c +++ b/src/examples/media-session/policy-node.c @@ -869,6 +869,7 @@ static int link_nodes(struct node *node, struct node *peer) struct pw_properties *props; struct node *output, *input; int res; + uint32_t node_id = node->id; pw_log_debug(NAME " %p: link nodes %d %d remix:%d", impl, node->id, peer->id, !node->dont_remix); @@ -902,7 +903,7 @@ static int link_nodes(struct node *node, struct node *peer) if (impl->linking_node_removed) { impl->linking_node_removed = false; - pw_log_info("linking node %d was removed", node->id); + pw_log_info("linking node %d was removed", node_id); return -ENOENT; } node->linking = false; -- GitLab