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:
Wim Taymans 2021-03-05 20:16:29 +01:00
parent 1c365f6169
commit 662fd8a1f9
2 changed files with 3 additions and 3 deletions

View file

@ -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);
char buf[1024];
if (strzcmp(name, def->value) == 0)
if (name == NULL || strzcmp(name, def->value) == 0)
continue;
free(def->value);

View file

@ -953,7 +953,7 @@ static void manager_metadata(void *data, struct pw_manager_object *o,
}
if ((changed = strzcmp(client->default_sink, value))) {
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) {
@ -966,7 +966,7 @@ static void manager_metadata(void *data, struct pw_manager_object *o,
}
if ((changed = strzcmp(client->default_source, value))) {
free(client->default_source);
client->default_source = strdup(value);
client->default_source = value ? strdup(value) : NULL;
}
}
if (changed)