summaryrefslogtreecommitdiff
path: root/sound/core/sgbuf.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2012-08-03 14:48:32 +0400
committerTakashi Iwai <tiwai@suse.de>2012-08-03 14:48:32 +0400
commitc810f9039f040681ec9d9f2983b748c193037297 (patch)
tree9c60a5f46538233ab41f97cdf42fb9b33a4af7b1 /sound/core/sgbuf.c
parentac190c76680cde6ce379b6be5baf89a970ea13d4 (diff)
downloadlinux-c810f9039f040681ec9d9f2983b748c193037297.tar.xz
ALSA: PCM: Fix possible memory leaks in the error path
When the first page allocation failed for sgbuf, it leaks the records that have been formerly allocated. Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/core/sgbuf.c')
-rw-r--r--sound/core/sgbuf.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/core/sgbuf.c b/sound/core/sgbuf.c
index 4e7ec2b49873..d0f00356fc11 100644
--- a/sound/core/sgbuf.c
+++ b/sound/core/sgbuf.c
@@ -101,7 +101,7 @@ void *snd_malloc_sgbuf_pages(struct device *device,
if (snd_dma_alloc_pages_fallback(SNDRV_DMA_TYPE_DEV, device,
chunk, &tmpb) < 0) {
if (!sgbuf->pages)
- return NULL;
+ goto _failed;
if (!res_size)
goto _failed;
size = sgbuf->pages * PAGE_SIZE;