From: Akihiko Odaki <akihiko.od...@daynix.com> 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.od...@daynix.com> Acked-by: Marc-André Lureau <marcandre.lur...@redhat.com> Message-ID: <20231120112804.9736-1-akihiko.od...@daynix.com> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> --- audio/audio.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/audio/audio.c b/audio/audio.c index f91e05b72c9..8d1e4ad9227 100644 --- a/audio/audio.c +++ b/audio/audio.c @@ -1758,12 +1758,15 @@ static AudioState *audio_init(Audiodev *dev, Error **errp) goto out; } s->dev = dev = e->dev; + QSIMPLEQ_REMOVE_HEAD(&default_audiodevs, next); + g_free(e); drvname = AudiodevDriver_str(dev->driver); driver = audio_driver_lookup(drvname); if (!audio_driver_init(s, driver, dev, NULL)) { break; } - QSIMPLEQ_REMOVE_HEAD(&default_audiodevs, next); + qapi_free_Audiodev(dev); + s->dev = NULL; } } -- 2.43.0