media: imx: imx7-media-csi: Zero format struct before calling .get_fmt()
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Thu, 26 Jan 2023 01:10:01 +0000 (02:10 +0100)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Wed, 8 Feb 2023 08:07:06 +0000 (09:07 +0100)
The v4l2_subdev_format structure passed to the .get_fmt() subdev
operation in imx7_csi_video_validate_fmt() isn't zeroed, which can cause
undefined behaviour. Fix it.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Adam Ford <aford173@gmail.com> #imx8mm-beacon-kit
Acked-by: Rui Miguel Silva <rmfrfs@gmail.com>
Tested-by: Martin Kepplinger <martin.kepplinger@puri.sm>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/media/platform/nxp/imx7-media-csi.c

index 733e447..943e541 100644 (file)
@@ -1412,13 +1412,14 @@ static void imx7_csi_video_buf_queue(struct vb2_buffer *vb)
 
 static int imx7_csi_video_validate_fmt(struct imx7_csi *csi)
 {
-       struct v4l2_subdev_format fmt_src;
+       struct v4l2_subdev_format fmt_src = {
+               .pad = IMX7_CSI_PAD_SRC,
+               .which = V4L2_SUBDEV_FORMAT_ACTIVE,
+       };
        const struct imx7_csi_pixfmt *cc;
        int ret;
 
        /* Retrieve the media bus format on the source subdev. */
-       fmt_src.pad = IMX7_CSI_PAD_SRC;
-       fmt_src.which = V4L2_SUBDEV_FORMAT_ACTIVE;
        ret = v4l2_subdev_call(&csi->sd, pad, get_fmt, NULL, &fmt_src);
        if (ret)
                return ret;