libbpf: Use strlcpy() in path resolution fallback logic
authorAndrii Nakryiko <andrii@kernel.org>
Thu, 7 Apr 2022 23:04:45 +0000 (16:04 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Fri, 8 Apr 2022 16:16:09 +0000 (09:16 -0700)
Coverity static analyzer complains that strcpy() can cause buffer
overflow. Use libbpf_strlcpy() instead to be 100% sure this doesn't
happen.

Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20220407230446.3980075-1-andrii@kernel.org
tools/lib/bpf/usdt.c

index 30c495a..acf2d99 100644 (file)
@@ -456,7 +456,7 @@ static int parse_lib_segs(int pid, const char *lib_path, struct elf_seg **segs,
        if (!realpath(lib_path, path)) {
                pr_warn("usdt: failed to get absolute path of '%s' (err %d), using path as is...\n",
                        lib_path, -errno);
-               strcpy(path, lib_path);
+               libbpf_strlcpy(path, lib_path, sizeof(path));
        }
 
 proceed: