diff options
author | Mauricio Vásquez <mauricio@kinvolk.io> | 2021-10-22 23:20:35 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2021-11-18 21:16:39 +0300 |
commit | 5d33132c03ff5b33bed76c412bad0af21b48320e (patch) | |
tree | 34b9bd3da289ff65ade91711785537b7971e4c87 /tools | |
parent | 32293389e84a373169904746c61fa46503e2b2cd (diff) | |
download | linux-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')
-rw-r--r-- | tools/lib/bpf/btf.c | 6 |
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) { |