lkml.org 
[lkml]   [2019]   [Sep]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.3 130/203] media: aspeed-video: address a protential usage of an unitialized var
    Date
    From: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>

    [ Upstream commit 31b8b0bd6e55c3ea5a08bb8141fa5d3c90600e3b ]

    While this might not occur in practice, if the device is doing
    the right thing, it would be teoretically be possible to have
    both hsync_counter and vsync_counter negatives.

    If this ever happen, ctrl will be undefined, but the driver
    will still call:

    aspeed_video_update(video, VE_CTRL, 0, ctrl);

    Change the code to prevent this to happen.

    This was warned by cppcheck:

    [drivers/media/platform/aspeed-video.c:653]: (error) Uninitialized variable: ctrl

    Reviewed-by: Eddie James <eajames@linux.ibm.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/media/platform/aspeed-video.c | 5 +++--
    1 file changed, 3 insertions(+), 2 deletions(-)

    diff --git a/drivers/media/platform/aspeed-video.c b/drivers/media/platform/aspeed-video.c
    index f899ac3b4a613..4ef37cfc84467 100644
    --- a/drivers/media/platform/aspeed-video.c
    +++ b/drivers/media/platform/aspeed-video.c
    @@ -630,7 +630,7 @@ static void aspeed_video_check_and_set_polarity(struct aspeed_video *video)
    }

    if (hsync_counter < 0 || vsync_counter < 0) {
    - u32 ctrl;
    + u32 ctrl = 0;

    if (hsync_counter < 0) {
    ctrl = VE_CTRL_HSYNC_POL;
    @@ -650,7 +650,8 @@ static void aspeed_video_check_and_set_polarity(struct aspeed_video *video)
    V4L2_DV_VSYNC_POS_POL;
    }

    - aspeed_video_update(video, VE_CTRL, 0, ctrl);
    + if (ctrl)
    + aspeed_video_update(video, VE_CTRL, 0, ctrl);
    }
    }

    --
    2.20.1
    \
     
     \ /
      Last update: 2019-09-22 20:47    [W:4.141 / U:0.160 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site