media: v4l: ioctl: Validate num_planes for debug messages
commit 7fe9f01c04c2673bd6662c35b664f0f91888b96f upstream. The num_planes field in struct v4l2_pix_format_mplane is used in a loop before validating it. As the use is printing a debug message in this case, just cap the value to the maximum allowed. Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> [bwh: Backported to 3.16: adjust context] Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
This commit is contained in:
parent
4e545f2462
commit
a97d6bfec7
|
@ -243,6 +243,7 @@ static void v4l_print_format(const void *arg, bool write_only)
|
|||
const struct v4l2_vbi_format *vbi;
|
||||
const struct v4l2_sliced_vbi_format *sliced;
|
||||
const struct v4l2_window *win;
|
||||
u32 planes;
|
||||
unsigned i;
|
||||
|
||||
pr_cont("type=%s", prt_names(p->type, v4l2_type_names));
|
||||
|
@ -275,7 +276,8 @@ static void v4l_print_format(const void *arg, bool write_only)
|
|||
(mp->pixelformat >> 24) & 0xff,
|
||||
prt_names(mp->field, v4l2_field_names),
|
||||
mp->colorspace, mp->num_planes);
|
||||
for (i = 0; i < mp->num_planes; i++)
|
||||
planes = min_t(u32, mp->num_planes, VIDEO_MAX_PLANES);
|
||||
for (i = 0; i < planes; i++)
|
||||
printk(KERN_DEBUG "plane %u: bytesperline=%u sizeimage=%u\n", i,
|
||||
mp->plane_fmt[i].bytesperline,
|
||||
mp->plane_fmt[i].sizeimage);
|
||||
|
|
Loading…
Reference in New Issue