• Mauro Carvalho Chehab's avatar
    media: ov9650: add a sanity check · dd25f76c
    Mauro Carvalho Chehab authored
    [ Upstream commit 093347ab ]
    
    As pointed by cppcheck:
    
    	[drivers/media/i2c/ov9650.c:706]: (error) Shifting by a negative value is undefined behaviour
    	[drivers/media/i2c/ov9650.c:707]: (error) Shifting by a negative value is undefined behaviour
    	[drivers/media/i2c/ov9650.c:721]: (error) Shifting by a negative value is undefined behaviour
    
    Prevent mangling with gains with invalid values.
    
    As pointed by Sylvester, this should never happen in practice,
    as min value of V4L2_CID_GAIN control is 16 (gain is always >= 16
    and m is always >= 0), but it is too hard for a static analyzer
    to get this, as the logic with validates control min/max is
    elsewhere inside V4L2 core.
    Reviewed-by: default avatarSylwester Nawrocki <s.nawrocki@samsung.com>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
    dd25f76c
ov9650.c 42.9 KB