Re: [v4l-dvb-maintainer] [PATCH] V4L/DVB: potential leak in dvb-bt8xx

From: Florin Malita
Date: Sun Oct 15 2006 - 12:02:03 EST


Trent Piepho wrote:
> I believe that 'state' will be kfree'd by the dst_attach() function if there
> is a failure. Not what you would expect, to have it allocated in the bt8xx
> driver (why do is there??) and freed on error in a different function.
>

Hm, you're right - it is kfreed in dst_attach(). But we're still missing
the kmalloc result check...

Signed-off-by: Florin Malita <fmalita@xxxxxxxxx>
---

dvb-bt8xx.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/media/dvb/bt8xx/dvb-bt8xx.c b/drivers/media/dvb/bt8xx/dvb-bt8xx.c
index fb6c4cc..d22ba4e 100644
--- a/drivers/media/dvb/bt8xx/dvb-bt8xx.c
+++ b/drivers/media/dvb/bt8xx/dvb-bt8xx.c
@@ -665,6 +665,9 @@ static void frontend_init(struct dvb_bt8
case BTTV_BOARD_TWINHAN_DST:
/* DST is not a frontend driver !!! */
state = (struct dst_state *) kmalloc(sizeof (struct dst_state), GFP_KERNEL);
+ if (!state)
+ break;
+
/* Setup the Card */
state->config = &dst_config;
state->i2c = card->i2c_adapter;


-
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/