diff options
Diffstat (limited to 'drivers/media/v4l2-core/v4l2-ioctl.c')
-rw-r--r-- | drivers/media/v4l2-core/v4l2-ioctl.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c index ca85c3a9a7b9..44bc7c4f1c11 100644 --- a/drivers/media/v4l2-core/v4l2-ioctl.c +++ b/drivers/media/v4l2-core/v4l2-ioctl.c | |||
@@ -1551,6 +1551,8 @@ static int v4l_s_fmt(const struct v4l2_ioctl_ops *ops, | |||
1551 | if (unlikely(!ops->vidioc_s_fmt_vid_cap_mplane)) | 1551 | if (unlikely(!ops->vidioc_s_fmt_vid_cap_mplane)) |
1552 | break; | 1552 | break; |
1553 | CLEAR_AFTER_FIELD(p, fmt.pix_mp.xfer_func); | 1553 | CLEAR_AFTER_FIELD(p, fmt.pix_mp.xfer_func); |
1554 | if (p->fmt.pix_mp.num_planes > VIDEO_MAX_PLANES) | ||
1555 | break; | ||
1554 | for (i = 0; i < p->fmt.pix_mp.num_planes; i++) | 1556 | for (i = 0; i < p->fmt.pix_mp.num_planes; i++) |
1555 | CLEAR_AFTER_FIELD(&p->fmt.pix_mp.plane_fmt[i], | 1557 | CLEAR_AFTER_FIELD(&p->fmt.pix_mp.plane_fmt[i], |
1556 | bytesperline); | 1558 | bytesperline); |
@@ -1582,6 +1584,8 @@ static int v4l_s_fmt(const struct v4l2_ioctl_ops *ops, | |||
1582 | if (unlikely(!ops->vidioc_s_fmt_vid_out_mplane)) | 1584 | if (unlikely(!ops->vidioc_s_fmt_vid_out_mplane)) |
1583 | break; | 1585 | break; |
1584 | CLEAR_AFTER_FIELD(p, fmt.pix_mp.xfer_func); | 1586 | CLEAR_AFTER_FIELD(p, fmt.pix_mp.xfer_func); |
1587 | if (p->fmt.pix_mp.num_planes > VIDEO_MAX_PLANES) | ||
1588 | break; | ||
1585 | for (i = 0; i < p->fmt.pix_mp.num_planes; i++) | 1589 | for (i = 0; i < p->fmt.pix_mp.num_planes; i++) |
1586 | CLEAR_AFTER_FIELD(&p->fmt.pix_mp.plane_fmt[i], | 1590 | CLEAR_AFTER_FIELD(&p->fmt.pix_mp.plane_fmt[i], |
1587 | bytesperline); | 1591 | bytesperline); |
@@ -1650,6 +1654,8 @@ static int v4l_try_fmt(const struct v4l2_ioctl_ops *ops, | |||
1650 | if (unlikely(!ops->vidioc_try_fmt_vid_cap_mplane)) | 1654 | if (unlikely(!ops->vidioc_try_fmt_vid_cap_mplane)) |
1651 | break; | 1655 | break; |
1652 | CLEAR_AFTER_FIELD(p, fmt.pix_mp.xfer_func); | 1656 | CLEAR_AFTER_FIELD(p, fmt.pix_mp.xfer_func); |
1657 | if (p->fmt.pix_mp.num_planes > VIDEO_MAX_PLANES) | ||
1658 | break; | ||
1653 | for (i = 0; i < p->fmt.pix_mp.num_planes; i++) | 1659 | for (i = 0; i < p->fmt.pix_mp.num_planes; i++) |
1654 | CLEAR_AFTER_FIELD(&p->fmt.pix_mp.plane_fmt[i], | 1660 | CLEAR_AFTER_FIELD(&p->fmt.pix_mp.plane_fmt[i], |
1655 | bytesperline); | 1661 | bytesperline); |
@@ -1681,6 +1687,8 @@ static int v4l_try_fmt(const struct v4l2_ioctl_ops *ops, | |||
1681 | if (unlikely(!ops->vidioc_try_fmt_vid_out_mplane)) | 1687 | if (unlikely(!ops->vidioc_try_fmt_vid_out_mplane)) |
1682 | break; | 1688 | break; |
1683 | CLEAR_AFTER_FIELD(p, fmt.pix_mp.xfer_func); | 1689 | CLEAR_AFTER_FIELD(p, fmt.pix_mp.xfer_func); |
1690 | if (p->fmt.pix_mp.num_planes > VIDEO_MAX_PLANES) | ||
1691 | break; | ||
1684 | for (i = 0; i < p->fmt.pix_mp.num_planes; i++) | 1692 | for (i = 0; i < p->fmt.pix_mp.num_planes; i++) |
1685 | CLEAR_AFTER_FIELD(&p->fmt.pix_mp.plane_fmt[i], | 1693 | CLEAR_AFTER_FIELD(&p->fmt.pix_mp.plane_fmt[i], |
1686 | bytesperline); | 1694 | bytesperline); |