From 9da78c4cd8c78d447359bc258112aeeaaf663381 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Tue, 12 Mar 2024 16:54:50 +0100 Subject: [PATCH] gst: only remove port once The port has node_data set/cleared when it is added/removed to/from the node. Make sure we only remove the port once to avoid a valgrind error. --- src/gst/gstpipewiredeviceprovider.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/gst/gstpipewiredeviceprovider.c b/src/gst/gstpipewiredeviceprovider.c index 30c436e52..23a470a29 100644 --- a/src/gst/gstpipewiredeviceprovider.c +++ b/src/gst/gstpipewiredeviceprovider.c @@ -486,7 +486,10 @@ destroy_port (void *data) { struct port_data *pd = data; pw_log_debug("destroy %p", pd); - spa_list_remove(&pd->link); + if (pd->node_data != NULL) { + spa_list_remove(&pd->link); + pd->node_data = NULL; + } } static const struct pw_proxy_events proxy_port_events = {