From: Tobias Klauser Date: Wed, 10 Jun 2020 13:08:04 +0000 (+0200) Subject: tools, bpftool: Fix memory leak in codegen error cases X-Git-Tag: v5.7.6~109 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2c207411b808256f92b24e5d61b0f31089b268ed;p=thirdparty%2Fkernel%2Fstable.git tools, bpftool: Fix memory leak in codegen error cases [ Upstream commit d4060ac969563113101c79433f2ae005feca1c29 ] Free the memory allocated for the template on error paths in function codegen. Signed-off-by: Tobias Klauser Signed-off-by: Daniel Borkmann Acked-by: Andrii Nakryiko Link: https://lore.kernel.org/bpf/20200610130804.21423-1-tklauser@distanz.ch Signed-off-by: Sasha Levin --- diff --git a/tools/bpf/bpftool/gen.c b/tools/bpf/bpftool/gen.c index f8113b3646f52..f5960b48c8615 100644 --- a/tools/bpf/bpftool/gen.c +++ b/tools/bpf/bpftool/gen.c @@ -225,6 +225,7 @@ static int codegen(const char *template, ...) } else { p_err("unrecognized character at pos %td in template '%s'", src - template - 1, template); + free(s); return -EINVAL; } } @@ -235,6 +236,7 @@ static int codegen(const char *template, ...) if (*src != '\t') { p_err("not enough tabs at pos %td in template '%s'", src - template - 1, template); + free(s); return -EINVAL; } }