From e5f85d6a4ce48b070840f0f2de2c1ca0e0f9fed5 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Fri, 7 Aug 2020 11:52:14 +0200 Subject: [PATCH] remote-node: clean node on error --- src/modules/module-client-node/remote-node.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/modules/module-client-node/remote-node.c b/src/modules/module-client-node/remote-node.c index ae6730ae9..8006369a9 100644 --- a/src/modules/module-client-node/remote-node.c +++ b/src/modules/module-client-node/remote-node.c @@ -1191,7 +1191,7 @@ static struct pw_proxy *node_export(struct pw_core *core, void *object, bool do_ &node->properties->dict, user_data_size + sizeof(struct node_data)); if (client_node == NULL) - return NULL; + goto error; data = pw_proxy_get_user_data(client_node); data = SPA_MEMBER(data, user_data_size, struct node_data); @@ -1234,6 +1234,11 @@ static struct pw_proxy *node_export(struct pw_core *core, void *object, bool do_ do_node_init(data); return client_node; +error: + if (do_free) + pw_impl_node_destroy(node); + return NULL; + } struct pw_proxy *pw_core_node_export(struct pw_core *core,