diff options
author | Mauricio Vásquez <[email protected]> | 2021-10-22 15:20:35 -0500 |
---|---|---|
committer | Andrii Nakryiko <[email protected]> | 2021-10-22 16:00:53 -0700 |
commit | 1000298c76830bc291358e98e8fa5baa3baa9b3a (patch) | |
tree | d4180ef03c40382c4d9880dd1d02b6273f288caf | |
parent | 57385ae31ff0ffa6e9c9ae39206740efdc7f5972 (diff) |
libbpf: Fix memory leak in btf__dedup()
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 <[email protected]>
Signed-off-by: Andrii Nakryiko <[email protected]>
Link: https://lore.kernel.org/bpf/[email protected]
-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 3a01c4b7f36a..85705c10f7b2 100644 --- a/tools/lib/bpf/btf.c +++ b/tools/lib/bpf/btf.c @@ -2991,8 +2991,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) { |