mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-10-31 22:25:38 -04:00
pw-cli: avoid property leak
This commit is contained in:
parent
37ac2e148e
commit
e1aedbab5b
1 changed files with 9 additions and 5 deletions
|
|
@ -1502,7 +1502,7 @@ obj_global_port(struct remote_data *rd, struct global *global, const char *port_
|
|||
return global_port_found;
|
||||
}
|
||||
|
||||
static void create_link_with_properties(struct data *data, struct pw_properties *props)
|
||||
static void create_link_with_properties(struct data *data, const struct pw_properties *props)
|
||||
{
|
||||
struct remote_data *rd = data->current;
|
||||
uint32_t id;
|
||||
|
|
@ -1534,6 +1534,7 @@ static bool do_create_link(struct data *data, const char *cmd, char *args, char
|
|||
char *a[5];
|
||||
int n;
|
||||
struct pw_properties *props = NULL;
|
||||
bool res = false;
|
||||
|
||||
n = pw_split_ip(args, WHITESPACE, 5, a);
|
||||
if (n < 4) {
|
||||
|
|
@ -1562,12 +1563,12 @@ static bool do_create_link(struct data *data, const char *cmd, char *args, char
|
|||
global_out = find_global(rd, a[0]);
|
||||
if (global_out == NULL) {
|
||||
*error = spa_aprintf("%s: unknown global '%s'", cmd, a[0]);
|
||||
return false;
|
||||
goto done;
|
||||
}
|
||||
global_in = find_global(rd, a[2]);
|
||||
if (global_in == NULL) {
|
||||
*error = spa_aprintf("%s: unknown global '%s'", cmd, a[2]);
|
||||
return false;
|
||||
goto done;
|
||||
}
|
||||
|
||||
pd_out = pw_proxy_get_user_data(global_out->proxy);
|
||||
|
|
@ -1578,7 +1579,7 @@ static bool do_create_link(struct data *data, const char *cmd, char *args, char
|
|||
|
||||
if (n_output_ports != n_input_ports) {
|
||||
*error = spa_aprintf("%s: Number of ports don't match (%u != %u)", cmd, n_output_ports, n_input_ports);
|
||||
return false;
|
||||
goto done;
|
||||
}
|
||||
|
||||
for (uint32_t i = 0; i < n_output_ports; i++) {
|
||||
|
|
@ -1601,9 +1602,12 @@ static bool do_create_link(struct data *data, const char *cmd, char *args, char
|
|||
} else
|
||||
create_link_with_properties(data, props);
|
||||
|
||||
res = true;
|
||||
|
||||
done:
|
||||
pw_properties_free(props);
|
||||
|
||||
return true;
|
||||
return res;
|
||||
}
|
||||
|
||||
static bool do_export_node(struct data *data, const char *cmd, char *args, char **error)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue