From e11d35107fc9e3a392b74855238be40f7bf69ff7 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Thu, 2 Jul 2020 15:53:16 +0200 Subject: [PATCH] alsa: don't leak properties on error --- pipewire-alsa/alsa-plugins/pcm_pipewire.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pipewire-alsa/alsa-plugins/pcm_pipewire.c b/pipewire-alsa/alsa-plugins/pcm_pipewire.c index d2fdcf445..560460cb8 100644 --- a/pipewire-alsa/alsa-plugins/pcm_pipewire.c +++ b/pipewire-alsa/alsa-plugins/pcm_pipewire.c @@ -890,7 +890,7 @@ static int snd_pcm_pipewire_open(snd_pcm_t **pcmp, const char *name, snd_pcm_pipewire_t *pw; int err; const char *str; - struct pw_properties *props; + struct pw_properties *props = NULL; struct pw_loop *loop; assert(pcmp); @@ -947,6 +947,7 @@ static int snd_pcm_pipewire_open(snd_pcm_t **pcmp, const char *name, pw_thread_loop_lock(pw->main_loop); pw->core = pw_context_connect(pw->context, props, 0); + props = NULL; if (pw->core == NULL) { err = -errno; pw_thread_loop_unlock(pw->main_loop); @@ -983,7 +984,9 @@ static int snd_pcm_pipewire_open(snd_pcm_t **pcmp, const char *name, return 0; - error: +error: + if (props) + pw_properties_free(props); snd_pcm_pipewire_free(pw); return err; }