summaryrefslogtreecommitdiff
path: root/drivers/media/v4l2-core
diff options
context:
space:
mode:
authorColin Ian King <colin.king@canonical.com>2020-01-07 17:02:06 +0300
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>2020-01-09 17:26:18 +0300
commit0c8c1ae155b89be7e0cd7e74494dfc83554c56d2 (patch)
treef535b7b2ffba5c076717b1fb59a0b76679ccfe6a /drivers/media/v4l2-core
parentbaf98b0ad304e1959222c51b9ffc5c8f85865ca0 (diff)
downloadlinux-0c8c1ae155b89be7e0cd7e74494dfc83554c56d2.tar.xz
media: v4l2-core: fix uninitialized structure fields being returned to userspace
In the case where v4l2_event_dequeue fails the structure ev is not being filled and this garbage data from the stack is being copied to the ev32 structure and being copied back to userspace on the VIDIOC_DQEVENT_TIME32 ioctl. Fix this by ensuring the ev structure is zero'd to ensure uninitialized data is not leaked back. Addresses-Coverity: ("Uninitialized scalar variable") Fixes: 1a6c0b36dd19 ("media: v4l2-core: fix VIDIOC_DQEVENT for time64 ABI") Signed-off-by: Colin Ian King <colin.king@canonical.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Diffstat (limited to 'drivers/media/v4l2-core')
-rw-r--r--drivers/media/v4l2-core/v4l2-subdev.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/media/v4l2-core/v4l2-subdev.c b/drivers/media/v4l2-core/v4l2-subdev.c
index de926e311348..a376b351135f 100644
--- a/drivers/media/v4l2-core/v4l2-subdev.c
+++ b/drivers/media/v4l2-core/v4l2-subdev.c
@@ -394,7 +394,7 @@ static long subdev_do_ioctl(struct file *file, unsigned int cmd, void *arg)
case VIDIOC_DQEVENT_TIME32: {
struct v4l2_event_time32 *ev32 = arg;
- struct v4l2_event ev;
+ struct v4l2_event ev = { };
if (!(sd->flags & V4L2_SUBDEV_FL_HAS_EVENTS))
return -ENOIOCTLCMD;