[PATCH 4/5] usb: gadget: f_mass_storage: Fix potential memory leak

From: Roger Quadros
Date: Tue Apr 05 2011 - 11:34:36 EST


If allocation of multiple buffers would fail then we would leak memory.
Fix that.

Signed-off-by: Roger Quadros <roger.quadros@xxxxxxxxx>
---
drivers/usb/gadget/f_mass_storage.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/drivers/usb/gadget/f_mass_storage.c b/drivers/usb/gadget/f_mass_storage.c
index f6bd001..60b4df9 100644
--- a/drivers/usb/gadget/f_mass_storage.c
+++ b/drivers/usb/gadget/f_mass_storage.c
@@ -2863,6 +2863,12 @@ buffhds_first_it:
bh->buf = kmalloc(FSG_BUFLEN, GFP_KERNEL);
if (unlikely(!bh->buf)) {
rc = -ENOMEM;
+ /* clean up */
+ while (i < FSG_NUM_BUFFERS) {
+ bh--;
+ kfree(bh->buf);
+ i++;
+ }
goto error_release;
}
} while (--i);
--
1.6.0.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/