All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Sound: AudioScience HPI: Don't leak firmware if mem alloc fails
@ 2011-07-28 19:48 Jesper Juhl
  2011-07-29  5:36   ` Takashi Iwai
  0 siblings, 1 reply; 7+ messages in thread
From: Jesper Juhl @ 2011-07-28 19:48 UTC (permalink / raw)
  To: linux-kernel
  Cc: alsa-devel, Joe Perches, Eliot Blennerhassett, Takashi Iwai,
	Jaroslav Kysela, support

We leak the memory allocated to 'firmware' when we fail to
release_firmware() after a kmalloc() failure in hpi_dsp_code_open().
This patch should take care of the leak.

Signed-off-by: Jesper Juhl <jj@chaosbits.net>
---
 sound/pci/asihpi/hpidspcd.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

	Build tested only.

diff --git a/sound/pci/asihpi/hpidspcd.c b/sound/pci/asihpi/hpidspcd.c
index 3a7afa3..8d261ef 100644
--- a/sound/pci/asihpi/hpidspcd.c
+++ b/sound/pci/asihpi/hpidspcd.c
@@ -85,8 +85,10 @@ short hpi_dsp_code_open(u32 adapter, void *os_data, struct dsp_code *dsp_code,
 
 	HPI_DEBUG_LOG(DEBUG, "dsp code %s opened\n", fw_name);
 	dsp_code->pvt = kmalloc(sizeof(*dsp_code->pvt), GFP_KERNEL);
-	if (!dsp_code->pvt)
+	if (!dsp_code->pvt) {
+		release_firmware(firmware);
 		return HPI_ERROR_MEMORY_ALLOC;
+	}
 
 	dsp_code->pvt->dev = dev;
 	dsp_code->pvt->firmware = firmware;
-- 
1.7.6


-- 
Jesper Juhl <jj@chaosbits.net>       http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2011-08-01  9:04 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-07-28 19:48 [PATCH] Sound: AudioScience HPI: Don't leak firmware if mem alloc fails Jesper Juhl
2011-07-29  5:36 ` Takashi Iwai
2011-07-29  5:36   ` Takashi Iwai
2011-07-29  9:07   ` Jesper Juhl
2011-07-31 21:16     ` Jesper Juhl
2011-08-01  9:04       ` Takashi Iwai
2011-08-01  9:04         ` Takashi Iwai

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.