From: Julia Lawall Date: Thu, 22 Sep 2011 11:59:31 +0000 (+0200) Subject: src/pcm/pcm_mmap.c: add missing free X-Git-Tag: android-x86-9.0-r1~977 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=fef6e6fd580073e0c0696105f808145561990b75;p=android-x86%2Fexternal-alsa-lib.git src/pcm/pcm_mmap.c: add missing free The mmap_channels and running_areas fields are allocated using calloc, but are not freed on an error path. Signed-off-by: Julia Lawall Signed-off-by: Suman Saha Signed-off-by: Takashi Iwai --- diff --git a/src/pcm/pcm_mmap.c b/src/pcm/pcm_mmap.c index 4621fe6f..6b440508 100644 --- a/src/pcm/pcm_mmap.c +++ b/src/pcm/pcm_mmap.c @@ -320,8 +320,13 @@ 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); + free(pcm->running_areas); + pcm->mmap_channels = NULL; + pcm->running_areas = NULL; return err; + } } for (c = 0; c < pcm->channels; ++c) { snd_pcm_channel_info_t *i = &pcm->mmap_channels[c];