audio: Free consumed default audio devices
Failed default audio devices were removed from the list but not freed, and that made LeakSanitizer sad. Free default audio devices as they are consumed. Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> Acked-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-ID: <20231120112804.9736-1-akihiko.odaki@daynix.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
541069e653
commit
e4b9d1999c
@ -1758,12 +1758,15 @@ static AudioState *audio_init(Audiodev *dev, Error **errp)
|
|||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
s->dev = dev = e->dev;
|
s->dev = dev = e->dev;
|
||||||
|
QSIMPLEQ_REMOVE_HEAD(&default_audiodevs, next);
|
||||||
|
g_free(e);
|
||||||
drvname = AudiodevDriver_str(dev->driver);
|
drvname = AudiodevDriver_str(dev->driver);
|
||||||
driver = audio_driver_lookup(drvname);
|
driver = audio_driver_lookup(drvname);
|
||||||
if (!audio_driver_init(s, driver, dev, NULL)) {
|
if (!audio_driver_init(s, driver, dev, NULL)) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
QSIMPLEQ_REMOVE_HEAD(&default_audiodevs, next);
|
qapi_free_Audiodev(dev);
|
||||||
|
s->dev = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user