Re: [PATCH] ALSA: fix possible memory leak in snd_mixer_oss_build_input()

From: Takashi Iwai
Date: Mon Sep 03 2012 - 04:15:34 EST


At Sun, 2 Sep 2012 22:10:27 +0800,
Wei Yongjun wrote:
>
> From: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx>
>
> uinfo has been allocated in this function and should be
> freed before leaving from the error handling cases.
>
> spatch with a semantic match is used to found this problem.
> (http://coccinelle.lip6.fr/)
>
> Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx>

Applied now. Thanks.


Takashi

> ---
> sound/core/oss/mixer_oss.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/sound/core/oss/mixer_oss.c b/sound/core/oss/mixer_oss.c
> index 18297f7..29f6ded 100644
> --- a/sound/core/oss/mixer_oss.c
> +++ b/sound/core/oss/mixer_oss.c
> @@ -1046,6 +1046,7 @@ static int snd_mixer_oss_build_input(struct snd_mixer_oss *mixer, struct snd_mix
>
> if (kctl->info(kctl, uinfo)) {
> up_read(&mixer->card->controls_rwsem);
> + kfree(uinfo);
> return 0;
> }
> strcpy(str, ptr->name);
> @@ -1061,6 +1062,7 @@ static int snd_mixer_oss_build_input(struct snd_mixer_oss *mixer, struct snd_mix
> uinfo->value.enumerated.item = slot.capture_item;
> if (kctl->info(kctl, uinfo)) {
> up_read(&mixer->card->controls_rwsem);
> + kfree(uinfo);
> return 0;
> }
> if (!strcmp(uinfo->value.enumerated.name, str)) {
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/