diff options
author | Takashi Iwai <tiwai@suse.de> | 2012-08-03 06:48:32 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2012-08-03 06:48:32 -0400 |
commit | c810f9039f040681ec9d9f2983b748c193037297 (patch) | |
tree | 9c60a5f46538233ab41f97cdf42fb9b33a4af7b1 | |
parent | ac190c76680cde6ce379b6be5baf89a970ea13d4 (diff) |
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>
-rw-r--r-- | sound/core/sgbuf.c | 2 |
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, | |||
101 | if (snd_dma_alloc_pages_fallback(SNDRV_DMA_TYPE_DEV, device, | 101 | if (snd_dma_alloc_pages_fallback(SNDRV_DMA_TYPE_DEV, device, |
102 | chunk, &tmpb) < 0) { | 102 | chunk, &tmpb) < 0) { |
103 | if (!sgbuf->pages) | 103 | if (!sgbuf->pages) |
104 | return NULL; | 104 | goto _failed; |
105 | if (!res_size) | 105 | if (!res_size) |
106 | goto _failed; | 106 | goto _failed; |
107 | size = sgbuf->pages * PAGE_SIZE; | 107 | size = sgbuf->pages * PAGE_SIZE; |