tools/resolve_btf_ids: Close ELF file on error

Fix one case where we don't do explicit clean up.

Fixes: fbbb68de80 ("bpf: Add resolve_btfids tool to resolve BTF IDs in ELF object")
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20211124002325.1737739-2-andrii@kernel.org
This commit is contained in:
Andrii Nakryiko 2021-11-23 16:23:13 -08:00 committed by Daniel Borkmann
parent 2fe256a429
commit 1144ab9bdf
1 changed files with 3 additions and 2 deletions

View File

@ -167,7 +167,7 @@ static struct btf_id *btf_id__find(struct rb_root *root, const char *name)
return NULL; return NULL;
} }
static struct btf_id* static struct btf_id *
btf_id__add(struct rb_root *root, char *name, bool unique) btf_id__add(struct rb_root *root, char *name, bool unique)
{ {
struct rb_node **p = &root->rb_node; struct rb_node **p = &root->rb_node;
@ -730,7 +730,8 @@ int main(int argc, const char **argv)
if (obj.efile.idlist_shndx == -1 || if (obj.efile.idlist_shndx == -1 ||
obj.efile.symbols_shndx == -1) { obj.efile.symbols_shndx == -1) {
pr_debug("Cannot find .BTF_ids or symbols sections, nothing to do\n"); pr_debug("Cannot find .BTF_ids or symbols sections, nothing to do\n");
return 0; err = 0;
goto out;
} }
if (symbols_collect(&obj)) if (symbols_collect(&obj))