From b93fbfc22bed262595b4f21697673cd50cbeae95 Mon Sep 17 00:00:00 2001 From: Sven Schnelle Date: Sat, 28 Nov 2015 16:12:19 +0100 Subject: [PATCH] facetimehd: check index parameter in enum_framesizes()/enum_frameintervals() otherwise we might have callers trying all possible index value which takes a lot of time. --- fthd_v4l2.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/fthd_v4l2.c b/fthd_v4l2.c index 6807f55..288b0b4 100644 --- a/fthd_v4l2.c +++ b/fthd_v4l2.c @@ -533,6 +533,9 @@ static int fthd_v4l2_ioctl_s_parm(struct file *filp, void *priv, static int fthd_v4l2_ioctl_enum_framesizes(struct file *filp, void *priv, struct v4l2_frmsizeenum *sizes) { + if (sizes->index) + return -EINVAL; + sizes->type = V4L2_FRMSIZE_TYPE_CONTINUOUS; sizes->stepwise.min_width = 320; sizes->stepwise.max_width = 2560; @@ -548,6 +551,9 @@ static int fthd_v4l2_ioctl_enum_frameintervals(struct file *filp, void *priv, { pr_debug("%s\n", __FUNCTION__); + if (interval->index) + return -EINVAL; + if (interval->pixel_format != V4L2_PIX_FMT_YUYV && interval->pixel_format != V4L2_PIX_FMT_YVYU && interval->pixel_format != V4L2_PIX_FMT_NV16)