2008-06-22 09:12:40

by Marcin Ślusarz

[permalink] [raw]
Subject: [PATCH] V4L/vivi: fix possible memory leak in vivi_fillbuff

Move allocation after first check and fix memory leak.
http://bugzilla.kernel.org/show_bug.cgi?id=10659

Noticed-by: Daniel Marjamäki <[email protected]>
Signed-off-by: Marcin Slusarz <[email protected]>
Cc: Mauro Carvalho Chehab <[email protected]>
---
drivers/media/video/vivi.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/media/video/vivi.c b/drivers/media/video/vivi.c
index 845be18..5ff9a58 100644
--- a/drivers/media/video/vivi.c
+++ b/drivers/media/video/vivi.c
@@ -327,13 +327,14 @@ static void vivi_fillbuff(struct vivi_dev *dev, struct vivi_buffer *buf)
int hmax = buf->vb.height;
int wmax = buf->vb.width;
struct timeval ts;
- char *tmpbuf = kmalloc(wmax * 2, GFP_ATOMIC);
+ char *tmpbuf;
void *vbuf = videobuf_to_vmalloc(&buf->vb);

- if (!tmpbuf)
+ if (!vbuf)
return;

- if (!vbuf)
+ tmpbuf = kmalloc(wmax * 2, GFP_ATOMIC);
+ if (!tmpbuf)
return;

for (h = 0; h < hmax; h++) {
--
1.5.4.5