One of the error paths in sound/usb/6fire/firmware.c::usb6fire_fw_ezusb_upload() neglects to free the memory allocated for the firmware before returning, thus leaking the memory.
Signed-off-by: Jesper Juhl jj@chaosbits.net --- firmware.c | 1 + 1 file changed, 1 insertion(+)
patch against 3.0-rc1 compile tested only
diff --git a/sound/usb/6fire/firmware.c b/sound/usb/6fire/firmware.c index d47beff..a91719d 100644 --- a/sound/usb/6fire/firmware.c +++ b/sound/usb/6fire/firmware.c @@ -227,6 +227,7 @@ static int usb6fire_fw_ezusb_upload( ret = usb6fire_fw_ihex_init(fw, rec); if (ret < 0) { kfree(rec); + release_firmware(fw); snd_printk(KERN_ERR PREFIX "error validating ezusb " "firmware %s.\n", fwname); return ret;