forked from Minki/linux
libbpf: Fix strncat bounds error in libbpf_prog_type_by_name
On compiling samples with this change, one gets an error:
error: ‘strncat’ specified bound 118 equals destination size
[-Werror=stringop-truncation]
strncat(dst, name + section_names[i].len,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sizeof(raw_tp_btf_name) - (dst - raw_tp_btf_name));
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
strncat requires the destination to have enough space for the
terminating null byte.
Fixes: f75a697e09
("libbpf: Auto-detect btf_id of BTF-based raw_tracepoint")
Signed-off-by: KP Singh <kpsingh@google.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20191023154038.24075-1-kpsingh@chromium.org
This commit is contained in:
parent
e0e4f8e938
commit
58eeb2289a
|
@ -4690,7 +4690,7 @@ int libbpf_prog_type_by_name(const char *name, enum bpf_prog_type *prog_type,
|
|||
}
|
||||
/* prepend "btf_trace_" prefix per kernel convention */
|
||||
strncat(dst, name + section_names[i].len,
|
||||
sizeof(raw_tp_btf_name) - (dst - raw_tp_btf_name));
|
||||
sizeof(raw_tp_btf_name) - sizeof("btf_trace_"));
|
||||
ret = btf__find_by_name(btf, raw_tp_btf_name);
|
||||
btf__free(btf);
|
||||
if (ret <= 0) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user