* [PATCH] [media] videobuf2: avoid memory leak on errors
@ 2015-12-18 16:14 Mauro Carvalho Chehab
2015-12-21 6:54 ` Marek Szyprowski
0 siblings, 1 reply; 2+ messages in thread
From: Mauro Carvalho Chehab @ 2015-12-18 16:14 UTC (permalink / raw)
Cc: Mauro Carvalho Chehab, Linux Media Mailing List,
Mauro Carvalho Chehab, Pawel Osciak, Marek Szyprowski,
Kyungmin Park
As reported by smatch:
drivers/media/v4l2-core/videobuf2-core.c:2415 __vb2_init_fileio() warn: possible memory leak of 'fileio'
While here, avoid the usage of sizeof(struct foo_struct).
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
---
drivers/media/v4l2-core/videobuf2-core.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/media/v4l2-core/videobuf2-core.c b/drivers/media/v4l2-core/videobuf2-core.c
index e6890d47cdcb..c5d49d7a0d76 100644
--- a/drivers/media/v4l2-core/videobuf2-core.c
+++ b/drivers/media/v4l2-core/videobuf2-core.c
@@ -2406,13 +2406,15 @@ static int __vb2_init_fileio(struct vb2_queue *q, int read)
(read) ? "read" : "write", count, q->fileio_read_once,
q->fileio_write_immediately);
- fileio = kzalloc(sizeof(struct vb2_fileio_data), GFP_KERNEL);
+ fileio = kzalloc(sizeof(*fileio), GFP_KERNEL);
if (fileio == NULL)
return -ENOMEM;
fileio->b = kzalloc(q->buf_struct_size, GFP_KERNEL);
- if (fileio->b == NULL)
+ if (fileio->b == NULL) {
+ kfree(fileio);
return -ENOMEM;
+ }
fileio->read_once = q->fileio_read_once;
fileio->write_immediately = q->fileio_write_immediately;
--
2.5.0
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH] [media] videobuf2: avoid memory leak on errors
2015-12-18 16:14 [PATCH] [media] videobuf2: avoid memory leak on errors Mauro Carvalho Chehab
@ 2015-12-21 6:54 ` Marek Szyprowski
0 siblings, 0 replies; 2+ messages in thread
From: Marek Szyprowski @ 2015-12-21 6:54 UTC (permalink / raw)
To: Mauro Carvalho Chehab
Cc: Linux Media Mailing List, Mauro Carvalho Chehab, Pawel Osciak,
Kyungmin Park
Hello,
On 2015-12-18 17:14, Mauro Carvalho Chehab wrote:
> As reported by smatch:
> drivers/media/v4l2-core/videobuf2-core.c:2415 __vb2_init_fileio() warn: possible memory leak of 'fileio'
>
> While here, avoid the usage of sizeof(struct foo_struct).
>
> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Acked-by: Marek Szyprowski <m.szyprowski@samsung.com>
> ---
> drivers/media/v4l2-core/videobuf2-core.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/media/v4l2-core/videobuf2-core.c b/drivers/media/v4l2-core/videobuf2-core.c
> index e6890d47cdcb..c5d49d7a0d76 100644
> --- a/drivers/media/v4l2-core/videobuf2-core.c
> +++ b/drivers/media/v4l2-core/videobuf2-core.c
> @@ -2406,13 +2406,15 @@ static int __vb2_init_fileio(struct vb2_queue *q, int read)
> (read) ? "read" : "write", count, q->fileio_read_once,
> q->fileio_write_immediately);
>
> - fileio = kzalloc(sizeof(struct vb2_fileio_data), GFP_KERNEL);
> + fileio = kzalloc(sizeof(*fileio), GFP_KERNEL);
> if (fileio == NULL)
> return -ENOMEM;
>
> fileio->b = kzalloc(q->buf_struct_size, GFP_KERNEL);
> - if (fileio->b == NULL)
> + if (fileio->b == NULL) {
> + kfree(fileio);
> return -ENOMEM;
> + }
>
> fileio->read_once = q->fileio_read_once;
> fileio->write_immediately = q->fileio_write_immediately;
Best regards
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-12-21 6:54 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-18 16:14 [PATCH] [media] videobuf2: avoid memory leak on errors Mauro Carvalho Chehab
2015-12-21 6:54 ` Marek Szyprowski
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.