lkml.org 
[lkml]   [2019]   [Jan]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 4.19 166/258] perf dso: Fix unchecked usage of strncpy()
    Date
    From: Arnaldo Carvalho de Melo <acme@redhat.com>

    [ Upstream commit fca5085c15255bbde203b7322c15f07ebb12f63e ]

    The strncpy() function may leave the destination string buffer
    unterminated, better use strlcpy() that we have a __weak fallback
    implementation for systems without it.

    This fixes this warning on an Alpine Linux Edge system with gcc 8.2:

    In function 'decompress_kmodule',
    inlined from 'dso__decompress_kmodule_fd' at util/dso.c:305:9:
    util/dso.c:298:3: error: 'strncpy' destination unchanged after copying no bytes [-Werror=stringop-truncation]
    strncpy(pathname, tmpbuf, len);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    CC /tmp/build/perf/util/values.o
    CC /tmp/build/perf/util/debug.o
    cc1: all warnings being treated as errors

    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Fixes: c9a8a6131fb6 ("perf tools: Move the temp file processing into decompress_kmodule")
    Link: https://lkml.kernel.org/n/tip-tl2hdxj64tt4k8btbi6a0ugw@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    tools/perf/util/dso.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/tools/perf/util/dso.c b/tools/perf/util/dso.c
    index bbed90e5d9bb..cee717a3794f 100644
    --- a/tools/perf/util/dso.c
    +++ b/tools/perf/util/dso.c
    @@ -295,7 +295,7 @@ static int decompress_kmodule(struct dso *dso, const char *name,
    unlink(tmpbuf);

    if (pathname && (fd >= 0))
    - strncpy(pathname, tmpbuf, len);
    + strlcpy(pathname, tmpbuf, len);

    return fd;
    }
    --
    2.19.1
    \
     
     \ /
      Last update: 2019-01-28 17:08    [W:3.908 / U:0.144 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site