diff mbox

[media] DVB, DiB9000: Fix leak in dib9000_attach()

Message ID alpine.LNX.2.00.1104072131050.1538@swampdragon.chaosbits.net (mailing list archive)
State Accepted
Headers show

Commit Message

Jesper Juhl April 7, 2011, 7:34 p.m. UTC
If the second memory allocation in dib9000_attach() fails, we'll leak the 
memory allocated by the first.

Signed-off-by: Jesper Juhl <jj@chaosbits.net>
---
 dib9000.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

   compile tested only...
diff mbox

Patch

diff --git a/drivers/media/dvb/frontends/dib9000.c b/drivers/media/dvb/frontends/dib9000.c
index 9151876..b25ef2b 100644
--- a/drivers/media/dvb/frontends/dib9000.c
+++ b/drivers/media/dvb/frontends/dib9000.c
@@ -2255,8 +2255,10 @@  struct dvb_frontend *dib9000_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr, c
 	if (st == NULL)
 		return NULL;
 	fe = kzalloc(sizeof(struct dvb_frontend), GFP_KERNEL);
-	if (fe == NULL)
+	if (fe == NULL) {
+		kfree(st);
 		return NULL;
+	}
 
 	memcpy(&st->chip.d9.cfg, cfg, sizeof(struct dib9000_config));
 	st->i2c.i2c_adap = i2c_adap;