As reported by smatch:
        drivers/media/platform/s3c-camif/camif-capture.c:463 queue_setup() 
warn: variable dereferenced before check 'fmt' (see line 460)

Signed-off-by: Mauro Carvalho Chehab <[email protected]>

diff --git a/drivers/media/platform/s3c-camif/camif-capture.c 
b/drivers/media/platform/s3c-camif/camif-capture.c
index db4d7d23beb9..76e6289a5612 100644
--- a/drivers/media/platform/s3c-camif/camif-capture.c
+++ b/drivers/media/platform/s3c-camif/camif-capture.c
@@ -449,19 +449,22 @@ static int queue_setup(struct vb2_queue *vq, const struct 
v4l2_format *pfmt,
        struct camif_vp *vp = vb2_get_drv_priv(vq);
        struct camif_dev *camif = vp->camif;
        struct camif_frame *frame = &vp->out_frame;
-       const struct camif_fmt *fmt = vp->out_fmt;
+       const struct camif_fmt *fmt;
        unsigned int size;
 
        if (pfmt) {
                pix = &pfmt->fmt.pix;
                fmt = s3c_camif_find_format(vp, &pix->pixelformat, -1);
+               if (fmt == NULL)
+                       return -EINVAL;
                size = (pix->width * pix->height * fmt->depth) / 8;
        } else {
+               fmt = vp->out_fmt;
+               if (fmt == NULL)
+                       return -EINVAL;
                size = (frame->f_width * frame->f_height * fmt->depth) / 8;
        }
 
-       if (fmt == NULL)
-               return -EINVAL;
        *num_planes = 1;
 
        if (pix)
-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to