From 41b2cecedcb565499a0cacd05764d30894e2d1b5 Mon Sep 17 00:00:00 2001 From: Conrad Jones Date: Sun, 15 Sep 2019 12:30:06 -0700 Subject: [PATCH] fix memory leak in snd_pcm_set_chmap --- src/pcm/pcm.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/pcm/pcm.c b/src/pcm/pcm.c index 178d4387..28b638c4 100644 --- a/src/pcm/pcm.c +++ b/src/pcm/pcm.c @@ -8100,9 +8100,12 @@ snd_pcm_chmap_t *snd_pcm_get_chmap(snd_pcm_t *pcm) int snd_pcm_set_chmap(snd_pcm_t *pcm, const snd_pcm_chmap_t *map) { const snd_pcm_chmap_t *oldmap = snd_pcm_get_chmap(pcm); - if (oldmap && chmap_equal(oldmap, map)) - return 0; - + if (oldmap && chmap_equal(oldmap, map)) { + snd_pcm_free_chmaps(oldmap); + return 0; + } + if (oldmap) + snd_pcm_free_chmaps(oldmap); if (!pcm->ops->set_chmap) return -ENXIO; return pcm->ops->set_chmap(pcm, map);