From: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> The 'done' label can be inside the last test for 'err', as all jumps there are immediately preceded by setting 'err' to a non-zero value, so no need to check it. Cc: Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx> Cc: Andrii Nakryiko <andrii.nakryiko@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: "Jose E. Marchesi" <jose.marchesi@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Nick Alcock <nick.alcock@xxxxxxxxxx> Cc: Yonghong Song <yonghong.song@xxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> --- tools/lib/bpf/btf.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/tools/lib/bpf/btf.c b/tools/lib/bpf/btf.c index 37682908cb0f3bd4..9bacd4dddff366bf 100644 --- a/tools/lib/bpf/btf.c +++ b/tools/lib/bpf/btf.c @@ -1090,11 +1090,9 @@ static struct btf *btf_new(const void *data, __u32 size, struct btf *base_btf, b err = btf_parse_str_sec(btf); err = err ?: btf_parse_type_sec(btf); err = err ?: btf_sanity_check(btf); - if (err) - goto done; -done: if (err) { +done: btf__free(btf); return ERR_PTR(err); } -- 2.50.1