linux/tools/bpf/bpftool
Viktor Malik 38d906f1c5 bpftool: Fix readlink usage in get_fd_type
[ Upstream commit 0053f7d39d ]

The `readlink(path, buf, sizeof(buf))` call reads at most sizeof(buf)
bytes and *does not* append null-terminator to buf. With respect to
that, fix two pieces in get_fd_type:

1. Change the truncation check to contain sizeof(buf) rather than
   sizeof(path).
2. Append null-terminator to buf.

Reported by Coverity.

Signed-off-by: Viktor Malik <vmalik@redhat.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Reviewed-by: Quentin Monnet <qmo@kernel.org>
Link: https://lore.kernel.org/bpf/20250129071857.75182-1-vmalik@redhat.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-06-04 14:42:14 +02:00
..
bash-completion bpftool: Specify XDP Hints ifname when loading program 2023-05-23 16:55:06 +02:00
Documentation bpftool: Extend net dump with tcx progs 2023-07-19 10:07:28 -07:00
skeleton bpftool: Fix missing pids during link show 2024-06-12 11:11:35 +02:00
.gitignore bpftool: Fix SPDX tag for Makefiles and .gitignore 2021-11-10 09:00:52 -08:00
btf.c bpftool: Use bpf_{btf,link,map,prog}_get_info_by_fd() 2023-02-16 15:32:45 -08:00
btf_dumper.c bpftool: Use "fallthrough;" keyword instead of comments 2023-07-12 23:50:11 +02:00
cfg.c bpftool: Support printing opcodes and source file references in CFG 2023-04-05 21:27:27 -07:00
cfg.h bpftool: Support printing opcodes and source file references in CFG 2023-04-05 21:27:27 -07:00
cgroup.c bpftool: Use bpf_{btf,link,map,prog}_get_info_by_fd() 2023-02-16 15:32:45 -08:00
common.c bpftool: Fix readlink usage in get_fd_type 2025-06-04 14:42:14 +02:00
feature.c bpftool: Use "fallthrough;" keyword instead of comments 2023-07-12 23:50:11 +02:00
gen.c bpftool: Align output skeleton ELF code 2024-01-10 17:16:54 +01:00
iter.c bpftool: Mount bpffs on provided dir instead of parent dir 2024-06-12 11:11:38 +02:00
jit_disasm.c bpf, bpftool: Fix incorrect disasm pc 2024-12-09 10:32:07 +01:00
json_writer.c tools: bpftool: json: Fix backslash escape typo in jsonw_puts 2023-03-29 09:48:45 -07:00
json_writer.h tools: bpftool: json: Fix backslash escape typo in jsonw_puts 2023-03-29 09:48:45 -07:00
link.c bpftool: Fix build warnings with -Wtype-limits 2023-08-30 08:39:00 +02:00
main.c bpftool: clean-up usage of libbpf_get_error() 2022-11-20 16:17:46 -08:00
main.h bpftool: Mount bpffs on provided dir instead of parent dir 2024-06-12 11:11:38 +02:00
Makefile bpf: Replace deprecated -target with --target= for Clang 2023-06-29 15:46:17 +02:00
map.c bpftool: Specify XDP Hints ifname when loading program 2023-05-23 16:55:06 +02:00
map_perf_ring.c bpftool: Fix error message of strerror 2022-09-30 15:40:46 -07:00
net.c bpftool: Fix undefined behavior in qsort(NULL, 0, ...) 2024-10-10 11:57:40 +02:00
netlink_dumper.c bpftool: Use consistent include paths for libbpf 2020-01-20 16:37:45 -08:00
netlink_dumper.h bpftool: Extend net dump with tcx progs 2023-07-19 10:07:28 -07:00
perf.c bpftool: fix perf help message 2023-08-11 20:54:29 -07:00
pids.c libbpf: Hashmap interface update to allow both long and void* keys/values 2022-11-09 20:45:14 -08:00
prog.c bpf: bpftool: Setting error code in do_loader() 2025-05-02 07:50:53 +02:00
struct_ops.c bpftool: Mount bpffs on provided dir instead of parent dir 2024-06-12 11:11:38 +02:00
tracelog.c bpftool, musl compat: Replace sys/fcntl.h by fcntl.h 2022-04-25 23:24:28 +02:00
xlated_dumper.c bpftool: Dump the kernel symbol's module name 2023-07-11 20:07:50 -07:00
xlated_dumper.h bpftool: Dump the kernel symbol's module name 2023-07-11 20:07:50 -07:00