Re: [PATCH] tools: objtool: fix memory leak in elf_create_rela_section()

From: Ingo Molnar
Date: Thu Sep 14 2017 - 01:31:55 EST



* Josh Poimboeuf <jpoimboe@xxxxxxxxxx> wrote:

> From: Martin Kepplinger <martink@xxxxxxxxx>
>
> Let's free the allocated char array relaname before returning
> in order to avoid leaking memory.
>
> Signed-off-by: Martin Kepplinger <martink@xxxxxxxxx>
> Signed-off-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
> ---
> tools/objtool/elf.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/tools/objtool/elf.c b/tools/objtool/elf.c
> index 6e9f980a7d26..6aacbc31316d 100644
> --- a/tools/objtool/elf.c
> +++ b/tools/objtool/elf.c
> @@ -508,8 +508,12 @@ struct section *elf_create_rela_section(struct elf *elf, struct section *base)
> strcat(relaname, base->name);
>
> sec = elf_create_section(elf, relaname, sizeof(GElf_Rela), 0);
> - if (!sec)
> + if (!sec) {
> + free(relaname);
> return NULL;
> + }
> +
> + free(relaname);

Erm, I'm quite sure if you read this code a second time you'll see how this
pattern could be improved! ;-)

Thanks,

Ingo