• Arnaldo Carvalho de Melo's avatar
    perf dso: Fix unchecked usage of strncpy() · fca5085c
    Arnaldo Carvalho de Melo authored
    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: c9a8a613 ("perf tools: Move the temp file processing into decompress_kmodule")
    Link: https://lkml.kernel.org/n/tip-tl2hdxj64tt4k8btbi6a0ugw@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    fca5085c
dso.c 34.4 KB