diff options
author | Andrii Nakryiko <andrii@kernel.org> | 2021-11-07 08:55:15 -0800 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2021-11-07 09:14:15 -0800 |
commit | 8ba285874913da21ca39a46376e9cc5ce0f45f94 (patch) | |
tree | 25e14aa1dc17f8dc4dd4ad51da01be35bc70fe0a /tools/testing/selftests/bpf/btf_helpers.c | |
parent | 8f7b239ea8cfdc8e64c875ee417fed41431a1f37 (diff) | |
download | linux-8ba285874913da21ca39a46376e9cc5ce0f45f94.tar.gz linux-8ba285874913da21ca39a46376e9cc5ce0f45f94.tar.bz2 linux-8ba285874913da21ca39a46376e9cc5ce0f45f94.zip |
selftests/bpf: Fix memory leaks in btf_type_c_dump() helper
Free up memory and resources used by temporary allocated memstream and
btf_dump instance.
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Reviewed-by: Hengqi Chen <hengqi.chen@gmail.com>
Link: https://lore.kernel.org/bpf/20211107165521.9240-4-andrii@kernel.org
Diffstat (limited to 'tools/testing/selftests/bpf/btf_helpers.c')
-rw-r--r-- | tools/testing/selftests/bpf/btf_helpers.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/tools/testing/selftests/bpf/btf_helpers.c b/tools/testing/selftests/bpf/btf_helpers.c index b5b6b013a245..3d1a748d09d8 100644 --- a/tools/testing/selftests/bpf/btf_helpers.c +++ b/tools/testing/selftests/bpf/btf_helpers.c @@ -251,18 +251,23 @@ const char *btf_type_c_dump(const struct btf *btf) d = btf_dump__new(btf, NULL, &opts, btf_dump_printf); if (libbpf_get_error(d)) { fprintf(stderr, "Failed to create btf_dump instance: %ld\n", libbpf_get_error(d)); - return NULL; + goto err_out; } for (i = 1; i < btf__type_cnt(btf); i++) { err = btf_dump__dump_type(d, i); if (err) { fprintf(stderr, "Failed to dump type [%d]: %d\n", i, err); - return NULL; + goto err_out; } } + btf_dump__free(d); fflush(buf_file); fclose(buf_file); return buf; +err_out: + btf_dump__free(d); + fclose(buf_file); + return NULL; } |