OSDN Git Service

selftests/bpf: Free inner strings index in btf selftest
authorAndrii Nakryiko <andrii@kernel.org>
Sun, 7 Nov 2021 16:55:17 +0000 (08:55 -0800)
committerAlexei Starovoitov <ast@kernel.org>
Sun, 7 Nov 2021 17:14:15 +0000 (09:14 -0800)
Inner array of allocated strings wasn't freed on success. Now it's
always freed.

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-6-andrii@kernel.org
tools/testing/selftests/bpf/prog_tests/btf.c

index ac596cb..ebd1aa4 100644 (file)
@@ -4046,11 +4046,9 @@ static void *btf_raw_create(const struct btf_header *hdr,
                        next_str_idx < strs_cnt ? strs_idx[next_str_idx] : NULL;
 
 done:
+       free(strs_idx);
        if (err) {
-               if (raw_btf)
-                       free(raw_btf);
-               if (strs_idx)
-                       free(strs_idx);
+               free(raw_btf);
                return NULL;
        }
        return raw_btf;