mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-04 13:30:12 -05:00
pulse-server: avoid crashing when clearing metadata
The key will be NULL so we can't strdup it. Fixes #845
This commit is contained in:
parent
1c365f6169
commit
662fd8a1f9
2 changed files with 3 additions and 3 deletions
|
|
@ -871,7 +871,7 @@ static void refresh_auto_default_nodes(struct impl *impl)
|
||||||
const char *name = pw_properties_get(node->obj->obj.props, PW_KEY_NODE_NAME);
|
const char *name = pw_properties_get(node->obj->obj.props, PW_KEY_NODE_NAME);
|
||||||
char buf[1024];
|
char buf[1024];
|
||||||
|
|
||||||
if (strzcmp(name, def->value) == 0)
|
if (name == NULL || strzcmp(name, def->value) == 0)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
free(def->value);
|
free(def->value);
|
||||||
|
|
|
||||||
|
|
@ -953,7 +953,7 @@ static void manager_metadata(void *data, struct pw_manager_object *o,
|
||||||
}
|
}
|
||||||
if ((changed = strzcmp(client->default_sink, value))) {
|
if ((changed = strzcmp(client->default_sink, value))) {
|
||||||
free(client->default_sink);
|
free(client->default_sink);
|
||||||
client->default_sink = strdup(value);
|
client->default_sink = value ? strdup(value) : NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (key == NULL || strcmp(key, "default.audio.source") == 0) {
|
if (key == NULL || strcmp(key, "default.audio.source") == 0) {
|
||||||
|
|
@ -966,7 +966,7 @@ static void manager_metadata(void *data, struct pw_manager_object *o,
|
||||||
}
|
}
|
||||||
if ((changed = strzcmp(client->default_source, value))) {
|
if ((changed = strzcmp(client->default_source, value))) {
|
||||||
free(client->default_source);
|
free(client->default_source);
|
||||||
client->default_source = strdup(value);
|
client->default_source = value ? strdup(value) : NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (changed)
|
if (changed)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue