conf: fix snd_config_merge() - double free in overwrite mode

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
Jaroslav Kysela 2021-05-12 10:07:12 +02:00
parent 414e4a759b
commit 1a52373fbc

View file

@ -2194,6 +2194,7 @@ int snd_config_merge(snd_config_t *dst, snd_config_t *src, int override)
snd_config_t *dn = snd_config_iterator_entry(di); snd_config_t *dn = snd_config_iterator_entry(di);
if (strcmp(sn->id, dn->id) == 0) { if (strcmp(sn->id, dn->id) == 0) {
if (override) { if (override) {
snd_config_remove(sn);
err = snd_config_substitute(dn, sn); err = snd_config_substitute(dn, sn);
if (err < 0) if (err < 0)
return err; return err;