lkml.org 
[lkml]   [2022]   [Mar]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.16 14/59] video: fbdev: nvidiafb: Use strscpy() to prevent buffer overflow
    Date
    From: Tim Gardner <tim.gardner@canonical.com>

    [ Upstream commit 37a1a2e6eeeb101285cd34e12e48a881524701aa ]

    Coverity complains of a possible buffer overflow. However,
    given the 'static' scope of nvidia_setup_i2c_bus() it looks
    like that can't happen after examiniing the call sites.

    CID 19036 (#1 of 1): Copy into fixed size buffer (STRING_OVERFLOW)
    1. fixed_size_dest: You might overrun the 48-character fixed-size string
    chan->adapter.name by copying name without checking the length.
    2. parameter_as_source: Note: This defect has an elevated risk because the
    source argument is a parameter of the current function.
    89 strcpy(chan->adapter.name, name);

    Fix this warning by using strscpy() which will silence the warning and
    prevent any future buffer overflows should the names used to identify the
    channel become much longer.

    Cc: Antonino Daplas <adaplas@gmail.com>
    Cc: linux-fbdev@vger.kernel.org
    Cc: dri-devel@lists.freedesktop.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
    Signed-off-by: Helge Deller <deller@gmx.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/video/fbdev/nvidia/nv_i2c.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/drivers/video/fbdev/nvidia/nv_i2c.c b/drivers/video/fbdev/nvidia/nv_i2c.c
    index d7994a173245..0b48965a6420 100644
    --- a/drivers/video/fbdev/nvidia/nv_i2c.c
    +++ b/drivers/video/fbdev/nvidia/nv_i2c.c
    @@ -86,7 +86,7 @@ static int nvidia_setup_i2c_bus(struct nvidia_i2c_chan *chan, const char *name,
    {
    int rc;

    - strcpy(chan->adapter.name, name);
    + strscpy(chan->adapter.name, name, sizeof(chan->adapter.name));
    chan->adapter.owner = THIS_MODULE;
    chan->adapter.class = i2c_class;
    chan->adapter.algo_data = &chan->algo;
    --
    2.34.1
    \
     
     \ /
      Last update: 2022-03-30 14:23    [W:2.339 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site