summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2010-12-07 12:57:25 +0100
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-01-19 14:52:10 +0100
commiteac9aa005a2e0676d07f1906f9933fd055eb1f0b (patch)
tree8345ab2b708e729163f14bb74a68f328c188a2eb
parent[media] v4l: Include linux/videodev2.h in media/v4l2-ctrls.h (diff)
downloadlinux-eac9aa005a2e0676d07f1906f9933fd055eb1f0b.tar.xz
linux-eac9aa005a2e0676d07f1906f9933fd055eb1f0b.zip
[media] v4l: Fix a use-before-set in the control framework
v4l2_queryctrl sets the step value based on the control type. That would be fine if it used the control type stored in the V4L2 kernel control object, not the one stored in the userspace ioctl structure that has just been memset to 0. Fix this. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--drivers/media/video/v4l2-ctrls.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/media/video/v4l2-ctrls.c b/drivers/media/video/v4l2-ctrls.c
index 01251431fd2a..ef66d2af0c57 100644
--- a/drivers/media/video/v4l2-ctrls.c
+++ b/drivers/media/video/v4l2-ctrls.c
@@ -1352,7 +1352,7 @@ int v4l2_queryctrl(struct v4l2_ctrl_handler *hdl, struct v4l2_queryctrl *qc)
qc->minimum = ctrl->minimum;
qc->maximum = ctrl->maximum;
qc->default_value = ctrl->default_value;
- if (qc->type == V4L2_CTRL_TYPE_MENU)
+ if (ctrl->type == V4L2_CTRL_TYPE_MENU)
qc->step = 1;
else
qc->step = ctrl->step;