lkml.org 
[lkml]   [2019]   [May]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.19 126/276] media: stm32-dcmi: fix crash when subdev do not expose any formats
    Date
    [ Upstream commit 33dfeb62e23c31619d2197850f7e8b50e8cc5466 ]

    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 <hugues.fruchet@st.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/media/platform/stm32/stm32-dcmi.c | 6 ++++++
    1 file changed, 6 insertions(+)

    diff --git a/drivers/media/platform/stm32/stm32-dcmi.c b/drivers/media/platform/stm32/stm32-dcmi.c
    index 100a5922d75fd..d386822658922 100644
    --- a/drivers/media/platform/stm32/stm32-dcmi.c
    +++ b/drivers/media/platform/stm32/stm32-dcmi.c
    @@ -808,6 +808,9 @@ static int dcmi_try_fmt(struct stm32_dcmi *dcmi, struct v4l2_format *f,

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

    sd_fmt = find_format_by_fourcc(dcmi, pix->pixelformat);
    if (!sd_fmt) {
    + if (!dcmi->num_of_sd_formats)
    + return -ENODATA;
    +
    sd_fmt = dcmi->sd_formats[dcmi->num_of_sd_formats - 1];
    pix->pixelformat = sd_fmt->fourcc;
    }
    --
    2.20.1


    \
     
     \ /
      Last update: 2019-05-30 05:23    [W:4.076 / U:0.144 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site