[alsa-devel] [PATCH 2/4] src/pcm/pcm_mmap.c: add missing free

Julia Lawall julia at diku.dk
Sun Sep 18 22:04:35 CEST 2011


From: Julia Lawall <julia at diku.dk>

Something that is allocated using calloc is not freed on an error path.

Signed-off-by: Julia Lawall <julia at diku.dk>
Signed-off-by: Suman Saha <sumsaha at gmail.com>

---
Compile-tested only.

 src/pcm/pcm_mmap.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/pcm/pcm_mmap.c b/src/pcm/pcm_mmap.c
index 4621fe6..2a009c8 100644
--- a/src/pcm/pcm_mmap.c
+++ b/src/pcm/pcm_mmap.c
@@ -320,8 +320,11 @@ int snd_pcm_mmap(snd_pcm_t *pcm)
 		snd_pcm_channel_info_t *i = &pcm->mmap_channels[c];
 		i->channel = c;
 		err = snd_pcm_channel_info(pcm, i);
-		if (err < 0)
+		if (err < 0) {
+			free(pcm->mmap_channels);
+			pcm->mmap_channels = NULL;
 			return err;
+		}
 	}
 	for (c = 0; c < pcm->channels; ++c) {
 		snd_pcm_channel_info_t *i = &pcm->mmap_channels[c];



More information about the Alsa-devel mailing list