8000 v4l2loopback.c: NULL dereference in free_buffers() · v4l2loopback/v4l2loopback@b434b7b · GitHub
[go: up one dir, main page]

Skip to content

Commit b434b7b

Browse files
rtg-canonicalumlaeute
authored andcommitted
v4l2loopback.c: NULL dereference in free_buffers()
Coverity found a possible NULL dereference after NULL check. CID 114122 (#1 of 1): Dereference after null check (FORWARD_NULL) 5. var_deref_op: Dereferencing null pointer dev. Signed-off-by: Tim Gardner <tim.gardner@canonical.com> (cherry picked from commit fc85f86) Signed-off-by: You-Sheng Yang <vicamo@gmail.com> Gbp-Pq: Name 0013-v4l2loopback.c-NULL-dereference-in-free_buffers.patch
1 parent ac8b269 commit b434b7b

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

v4l2loopback.c

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2072,6 +2072,8 @@ static int free_buffers(struct v4l2_loopback_device *dev)
20722072
{
20732073
MARK();
20742074
dprintk("freeing image@%p for dev:%p\n", dev ? dev->image : NULL, dev);
2075+
if (!dev)
2076+
return 0;
20752077
if (dev->image) {
20762078
vfree(dev->image);
20772079
dev->image = NULL;
@@ -2317,7 +2319,9 @@ static int v4l2_loopback_init(struct v4l2_loopback_device *dev, int nr)
23172319
init_vdev(dev->vdev, nr);
23182320
dev->vdev->v4l2_dev = &dev->v4l2_dev;
23192321
init_capture_param(&dev->capture_param);
2320-
set_timeperframe(dev, &dev->capture_param.timeperframe);
2322+
ret = set_timeperframe(dev, &dev->capture_param.timeperframe);
2323+
if (ret)
2324+
goto error;
23212325
dev->keep_format = 0;
23222326
dev->sustain_framerate = 0;
23232327
dev->buffers_number = max_buffers;
@@ -2380,7 +2384,9 @@ static int v4l2_loopback_init(struct v4l2_loopback_device *dev, int nr)
23802384
dev->buffer_size = PAGE_ALIGN(dev->pix_format.sizeimage);
23812385
dprintk("buffer_size = %ld (=%d)\n", dev->buffer_size,
23822386
dev->pix_format.sizeimage);
2383-
allocate_buffers(dev);
2387+
ret = allocate_buffers(dev);
2388+
if (ret)
2389+
goto error;
23842390

23852391
init_waitqueue_head(&dev->read_event);
23862392

0 commit comments

Comments
 (0)
0