From: Tobias Klauser <tklauser@xxxxxxxxxx> [ Upstream commit d4060ac969563113101c79433f2ae005feca1c29 ] Free the memory allocated for the template on error paths in function codegen. Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Andrii Nakryiko <andriin@xxxxxx> Link: https://lore.kernel.org/bpf/20200610130804.21423-1-tklauser@xxxxxxxxxx Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx> --- tools/bpf/bpftool/gen.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/bpf/bpftool/gen.c b/tools/bpf/bpftool/gen.c index f8113b3646f5..f5960b48c861 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; } } -- 2.25.1