On 12/7/18 12:43 PM, Mauro Carvalho Chehab wrote:
> As warned by smatch:
>       drivers/media/i2c/imx214.c:591 imx214_set_format() warn: variable 
> dereferenced before check 'format' (see line 589)
> 
> It turns that the code at imx214_set_format() has support for being
> called with the format being NULL. I've no idea why, as it is only
> called internally with the pointer set, and via subdev API (with
> should also set it).
> 
> Also, the entire logic there depends on having format != NULL, so
> just remove the bogus broken support for a null format.
> 
> Signed-off-by: Mauro Carvalho Chehab <mchehab+sams...@kernel.org>

Reviewed-by: Hans Verkuil <hverkuil-ci...@xs4all.nl>

Regards,

        Hans

> ---
>  drivers/media/i2c/imx214.c | 10 ++++------
>  1 file changed, 4 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/media/i2c/imx214.c b/drivers/media/i2c/imx214.c
> index ec3d1b855f62..b046a26219a4 100644
> --- a/drivers/media/i2c/imx214.c
> +++ b/drivers/media/i2c/imx214.c
> @@ -588,12 +588,10 @@ static int imx214_set_format(struct v4l2_subdev *sd,
>  
>       __crop = __imx214_get_pad_crop(imx214, cfg, format->pad, format->which);
>  
> -     if (format)
> -             mode = v4l2_find_nearest_size(imx214_modes,
> -                             ARRAY_SIZE(imx214_modes), width, height,
> -                             format->format.width, format->format.height);
> -     else
> -             mode = &imx214_modes[0];
> +     mode = v4l2_find_nearest_size(imx214_modes,
> +                                   ARRAY_SIZE(imx214_modes), width, height,
> +                                   format->format.width,
> +                                   format->format.height);
>  
>       __crop->width = mode->width;
>       __crop->height = mode->height;
> 

Reply via email to