Skip to content

Commit 2096b3b

Browse files
hfr72gregkh
authored andcommitted
media: stm32-dcmi: fix crash when subdev do not expose any formats
[ Upstream commit 33dfeb6 ] Do not access sd_formats[] if num_of_sd_formats is zero, ie subdev sensor didn't expose any formats. Signed-off-by: Hugues Fruchet <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]> Signed-off-by: Sasha Levin <[email protected]>
1 parent 6c21fa8 commit 2096b3b

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

drivers/media/platform/stm32/stm32-dcmi.c

+6
Original file line numberDiff line numberDiff line change
@@ -808,6 +808,9 @@ static int dcmi_try_fmt(struct stm32_dcmi *dcmi, struct v4l2_format *f,
808808

809809
sd_fmt = find_format_by_fourcc(dcmi, pix->pixelformat);
810810
if (!sd_fmt) {
811+
if (!dcmi->num_of_sd_formats)
812+
return -ENODATA;
813+
811814
sd_fmt = dcmi->sd_formats[dcmi->num_of_sd_formats - 1];
812815
pix->pixelformat = sd_fmt->fourcc;
813816
}
@@ -986,6 +989,9 @@ static int dcmi_set_sensor_format(struct stm32_dcmi *dcmi,
986989

987990
sd_fmt = find_format_by_fourcc(dcmi, pix->pixelformat);
988991
if (!sd_fmt) {
992+
if (!dcmi->num_of_sd_formats)
993+
return -ENODATA;
994+
989995
sd_fmt = dcmi->sd_formats[dcmi->num_of_sd_formats - 1];
990996
pix->pixelformat = sd_fmt->fourcc;
991997
}

0 commit comments

Comments
 (0)