From: Laurent Pinchart Date: Fri, 6 Mar 2015 12:54:47 +0000 (-0300) Subject: [media] uvcvideo: Validate index during step-wise frame intervals enumeration X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=1cdf60c97a9e7bc1829cca2e52d61be75f02c13c;p=deliverable%2Flinux.git [media] uvcvideo: Validate index during step-wise frame intervals enumeration Frame intervals exposed as an interval and step (so-called step-wise) are restricted by the V4L2 API to a single enumeration entry. Return an error when the index is not zero. Reported-by: Alexey Smirnoff Signed-off-by: Laurent Pinchart [mchehab@osg.samsung.com: add a missing collon at the end of the return statement, in order to avoid compilation breakage] Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/usb/uvc/uvc_v4l2.c b/drivers/media/usb/uvc/uvc_v4l2.c index 43e953f73e02..8d967fe2ef7d 100644 --- a/drivers/media/usb/uvc/uvc_v4l2.c +++ b/drivers/media/usb/uvc/uvc_v4l2.c @@ -1133,6 +1133,9 @@ static int uvc_ioctl_enum_frameintervals(struct file *file, void *fh, uvc_simplify_fraction(&fival->discrete.numerator, &fival->discrete.denominator, 8, 333); } else { + if (fival->index) + return -EINVAL; + fival->type = V4L2_FRMIVAL_TYPE_STEPWISE; fival->stepwise.min.numerator = frame->dwFrameInterval[0]; fival->stepwise.min.denominator = 10000000;