summaryrefslogtreecommitdiff
path: root/tools/lib
diff options
context:
space:
mode:
authorMauricio Vásquez <mauricio@kinvolk.io>2021-10-22 23:20:35 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-11-18 21:16:39 +0300
commit5d33132c03ff5b33bed76c412bad0af21b48320e (patch)
tree34b9bd3da289ff65ade91711785537b7971e4c87 /tools/lib
parent32293389e84a373169904746c61fa46503e2b2cd (diff)
downloadlinux-5d33132c03ff5b33bed76c412bad0af21b48320e.tar.xz
libbpf: Fix memory leak in btf__dedup()
[ Upstream commit 1000298c76830bc291358e98e8fa5baa3baa9b3a ] Free btf_dedup if btf_ensure_modifiable() returns error. Fixes: 919d2b1dbb07 ("libbpf: Allow modification of BTF and add btf__add_str API") Signed-off-by: Mauricio Vásquez <mauricio@kinvolk.io> Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Link: https://lore.kernel.org/bpf/20211022202035.48868-1-mauricio@kinvolk.io Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'tools/lib')
-rw-r--r--tools/lib/bpf/btf.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/tools/lib/bpf/btf.c b/tools/lib/bpf/btf.c
index 77dc24d58302..bf8c8676d68e 100644
--- a/tools/lib/bpf/btf.c
+++ b/tools/lib/bpf/btf.c
@@ -2914,8 +2914,10 @@ int btf__dedup(struct btf *btf, struct btf_ext *btf_ext,
return libbpf_err(-EINVAL);
}
- if (btf_ensure_modifiable(btf))
- return libbpf_err(-ENOMEM);
+ if (btf_ensure_modifiable(btf)) {
+ err = -ENOMEM;
+ goto done;
+ }
err = btf_dedup_prep(d);
if (err) {