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

Takashi Iwai tiwai at suse.de
Thu Sep 22 12:49:13 CEST 2011


At Sun, 18 Sep 2011 22:04:35 +0200,
Julia Lawall wrote:
> 
> 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;

pcm->running_areas should be freed here, too.


thanks,

Takashi


More information about the Alsa-devel mailing list