summaryrefslogtreecommitdiff
path: root/tools/bpf/bpftool
diff options
context:
space:
mode:
authorMiaoqian Lin <linmq006@gmail.com>2022-12-06 11:19:06 +0400
committerDaniel Borkmann <daniel@iogearbox.net>2022-12-06 21:20:42 +0100
commitfa55ef14ef4fe06198c0ce811b603aec24134bc2 (patch)
treed52d47447c8b1e414982805163f0ced040072b31 /tools/bpf/bpftool
parentb54b6003612a376e7be32cbc5c1af3754bbbbb3d (diff)
bpftool: Fix memory leak in do_build_table_cb
strdup() allocates memory for path. We need to release the memory in the following error path. Add free() to avoid memory leak. Fixes: 8f184732b60b ("bpftool: Switch to libbpf's hashmap for pinned paths of BPF objects") Signed-off-by: Miaoqian Lin <linmq006@gmail.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Link: https://lore.kernel.org/bpf/20221206071906.806384-1-linmq006@gmail.com
Diffstat (limited to 'tools/bpf/bpftool')
-rw-r--r--tools/bpf/bpftool/common.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/tools/bpf/bpftool/common.c b/tools/bpf/bpftool/common.c
index c90b756945e3..620032042576 100644
--- a/tools/bpf/bpftool/common.c
+++ b/tools/bpf/bpftool/common.c
@@ -501,6 +501,7 @@ static int do_build_table_cb(const char *fpath, const struct stat *sb,
if (err) {
p_err("failed to append entry to hashmap for ID %u, path '%s': %s",
pinned_info.id, path, strerror(errno));
+ free(path);
goto out_close;
}