Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ac57b849 authored by Alexey Dobriyan's avatar Alexey Dobriyan Committed by Jaroslav Kysela
Browse files

[ALSA] vx - Fix memory leak on error path



Modules: Digigram VX core

Noticed by Eric Sesterhenn on kernel-janitors@

Signed-off-by: default avatarAlexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 1037593c
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -1253,9 +1253,13 @@ static int vx_init_audio_io(struct vx_core *chip)

	/* allocate pipes */
	chip->playback_pipes = kmalloc(sizeof(struct vx_pipe *) * chip->audio_outs, GFP_KERNEL);
	if (!chip->playback_pipes)
		return -ENOMEM;
	chip->capture_pipes = kmalloc(sizeof(struct vx_pipe *) * chip->audio_ins, GFP_KERNEL);
	if (! chip->playback_pipes || ! chip->capture_pipes)
	if (!chip->capture_pipes) {
		kfree(chip->playback_pipes);
		return -ENOMEM;
	}

	memset(chip->playback_pipes, 0, sizeof(struct vx_pipe *) * chip->audio_outs);
	memset(chip->capture_pipes, 0, sizeof(struct vx_pipe *) * chip->audio_ins);