Commit b4bb1bd7 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

[media] s3c-camif: Check if fmt is NULL before use

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: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
Acked-by: default avatarSylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
parent 03e5dcee
...@@ -449,19 +449,22 @@ static int queue_setup(struct vb2_queue *vq, const struct v4l2_format *pfmt, ...@@ -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_vp *vp = vb2_get_drv_priv(vq);
struct camif_dev *camif = vp->camif; struct camif_dev *camif = vp->camif;
struct camif_frame *frame = &vp->out_frame; struct camif_frame *frame = &vp->out_frame;
const struct camif_fmt *fmt = vp->out_fmt; const struct camif_fmt *fmt;
unsigned int size; unsigned int size;
if (pfmt) { if (pfmt) {
pix = &pfmt->fmt.pix; pix = &pfmt->fmt.pix;
fmt = s3c_camif_find_format(vp, &pix->pixelformat, -1); fmt = s3c_camif_find_format(vp, &pix->pixelformat, -1);
if (fmt == NULL)
return -EINVAL;
size = (pix->width * pix->height * fmt->depth) / 8; size = (pix->width * pix->height * fmt->depth) / 8;
} else { } else {
fmt = vp->out_fmt;
if (fmt == NULL)
return -EINVAL;
size = (frame->f_width * frame->f_height * fmt->depth) / 8; size = (frame->f_width * frame->f_height * fmt->depth) / 8;
} }
if (fmt == NULL)
return -EINVAL;
*num_planes = 1; *num_planes = 1;
if (pix) if (pix)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment