remote-node: clean node on error

This commit is contained in:
Wim Taymans 2020-08-07 11:52:14 +02:00
parent a0777d7806
commit e5f85d6a4c

View file

@ -1191,7 +1191,7 @@ static struct pw_proxy *node_export(struct pw_core *core, void *object, bool do_
&node->properties->dict, &node->properties->dict,
user_data_size + sizeof(struct node_data)); user_data_size + sizeof(struct node_data));
if (client_node == NULL) if (client_node == NULL)
return NULL; goto error;
data = pw_proxy_get_user_data(client_node); data = pw_proxy_get_user_data(client_node);
data = SPA_MEMBER(data, user_data_size, struct node_data); 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); do_node_init(data);
return client_node; 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, struct pw_proxy *pw_core_node_export(struct pw_core *core,