* Josh Poimboeuf <jpoim...@redhat.com> wrote:

> From: Martin Kepplinger <mart...@posteo.de>
> 
> Let's free the allocated char array relaname before returning
> in order to avoid leaking memory.
> 
> Signed-off-by: Martin Kepplinger <mart...@posteo.de>
> Signed-off-by: Josh Poimboeuf <jpoim...@redhat.com>
> ---
>  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

Reply via email to