Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1731966 > unrolled thread

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

Started byJosh Poimboeuf <jpoimboe@redhat.com>
First post2017-09-14 00:50 +0200
Last post2017-09-15 11:50 +0200
Articles 7 — 4 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] tools: objtool: fix memory leak in elf_create_rela_section() Josh Poimboeuf <jpoimboe@redhat.com> - 2017-09-14 00:50 +0200
    Re: [PATCH] tools: objtool: fix memory leak in  elf_create_rela_section() Ingo Molnar <mingo@kernel.org> - 2017-09-14 07:40 +0200
      [PATCH v2] tools: objtool: fix memory leak in elf_create_rela_section() Martin Kepplinger <martink@posteo.de> - 2017-09-14 08:10 +0200
        Re: [PATCH v2] tools: objtool: fix memory leak in  elf_create_rela_section() Josh Poimboeuf <jpoimboe@redhat.com> - 2017-09-14 15:00 +0200
        [tip:core/urgent] tools/objtool: Fix memory leak in  elf_create_rela_section() tip-bot for Martin Kepplinger <tipbot@zytor.com> - 2017-09-14 16:20 +0200
        [tip:core/urgent] tools/objtool: Fix memory leak in  elf_create_rela_section() tip-bot for Martin Kepplinger <tipbot@zytor.com> - 2017-09-15 10:50 +0200
        [tip:core/urgent] objtool: Fix memory leak in  elf_create_rela_section() tip-bot for Martin Kepplinger <tipbot@zytor.com> - 2017-09-15 11:50 +0200

#1731966 — [PATCH] tools: objtool: fix memory leak in elf_create_rela_section()

FromJosh Poimboeuf <jpoimboe@redhat.com>
Date2017-09-14 00:50 +0200
Subject[PATCH] tools: objtool: fix memory leak in elf_create_rela_section()
Message-ID<upoDL-4Z2-1@gated-at.bofh.it>
From: Martin Kepplinger <martink@posteo.de>

Let's free the allocated char array relaname before returning
in order to avoid leaking memory.

Signed-off-by: Martin Kepplinger <martink@posteo.de>
Signed-off-by: Josh Poimboeuf <jpoimboe@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);
 
 	base->rela = sec;
 	sec->base = base;
-- 
2.13.5

[toc] | [next] | [standalone]


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

FromIngo Molnar <mingo@kernel.org>
Date2017-09-14 07:40 +0200
SubjectRe: [PATCH] tools: objtool: fix memory leak in elf_create_rela_section()
Message-ID<upv2y-UJ-11@gated-at.bofh.it>
In reply to#1731966
* Josh Poimboeuf <jpoimboe@redhat.com> wrote:

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

[toc] | [prev] | [next] | [standalone]


#1732056 — [PATCH v2] tools: objtool: fix memory leak in elf_create_rela_section()

FromMartin Kepplinger <martink@posteo.de>
Date2017-09-14 08:10 +0200
Subject[PATCH v2] tools: objtool: fix memory leak in elf_create_rela_section()
Message-ID<upvvz-1l9-7@gated-at.bofh.it>
In reply to#1732052
Let's free the allocated char array relaname before returning
in order to avoid leaking memory.

Signed-off-by: Martin Kepplinger <martink@posteo.de>
---

I should've allocated some brain resources before freeing some computer's.

 tools/objtool/elf.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/objtool/elf.c b/tools/objtool/elf.c
index 6e9f980a7d26..1e89a5f8bfc9 100644
--- a/tools/objtool/elf.c
+++ b/tools/objtool/elf.c
@@ -508,6 +508,7 @@ 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);
+	free(relaname);
 	if (!sec)
 		return NULL;
 
-- 
2.11.0

[toc] | [prev] | [next] | [standalone]


#1732259 — Re: [PATCH v2] tools: objtool: fix memory leak in elf_create_rela_section()

FromJosh Poimboeuf <jpoimboe@redhat.com>
Date2017-09-14 15:00 +0200
SubjectRe: [PATCH v2] tools: objtool: fix memory leak in elf_create_rela_section()
Message-ID<upBUl-59p-1@gated-at.bofh.it>
In reply to#1732056
On Thu, Sep 14, 2017 at 08:01:38AM +0200, Martin Kepplinger wrote:
> Let's free the allocated char array relaname before returning
> in order to avoid leaking memory.
> 
> Signed-off-by: Martin Kepplinger <martink@posteo.de>
> ---
> 
> I should've allocated some brain resources before freeing some computer's.

Oops.  I also failed to engage the brain.  Sometimes the simplest
patches are the most deceptive. ;-)

Acked-by: Josh Poimboeuf <jpoimboe@redhat.com>

-- 
Josh

[toc] | [prev] | [next] | [standalone]


#1732301 — [tip:core/urgent] tools/objtool: Fix memory leak in elf_create_rela_section()

Fromtip-bot for Martin Kepplinger <tipbot@zytor.com>
Date2017-09-14 16:20 +0200
Subject[tip:core/urgent] tools/objtool: Fix memory leak in elf_create_rela_section()
Message-ID<upD9M-67X-27@gated-at.bofh.it>
In reply to#1732056
Commit-ID:  5d0be52d44e32ae98b1345e9ecfa6a97783ca2c9
Gitweb:     http://git.kernel.org/tip/5d0be52d44e32ae98b1345e9ecfa6a97783ca2c9
Author:     Martin Kepplinger <martink@posteo.de>
AuthorDate: Thu, 14 Sep 2017 08:01:38 +0200
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Thu, 14 Sep 2017 16:02:30 +0200

tools/objtool: Fix memory leak in elf_create_rela_section()

Let's free the allocated char array 'relaname' before returning,
in order to avoid leaking memory.

Signed-off-by: Martin Kepplinger <martink@posteo.de>
Reviewed-by: Don Zickus <dzickus@redhat.com>
Acked-by: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: mingo.kernel.org@gmail.com
Link: http://lkml.kernel.org/r/20170914060138.26472-1-martink@posteo.de
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 tools/objtool/elf.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/objtool/elf.c b/tools/objtool/elf.c
index 6e9f980..1e89a5f 100644
--- a/tools/objtool/elf.c
+++ b/tools/objtool/elf.c
@@ -508,6 +508,7 @@ 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);
+	free(relaname);
 	if (!sec)
 		return NULL;
 

[toc] | [prev] | [next] | [standalone]


#1732783 — [tip:core/urgent] tools/objtool: Fix memory leak in elf_create_rela_section()

Fromtip-bot for Martin Kepplinger <tipbot@zytor.com>
Date2017-09-15 10:50 +0200
Subject[tip:core/urgent] tools/objtool: Fix memory leak in elf_create_rela_section()
Message-ID<upUtX-mr-9@gated-at.bofh.it>
In reply to#1732056
Commit-ID:  5b1972d74446bed79df5ddc9674bc3f2a0b6c444
Gitweb:     http://git.kernel.org/tip/5b1972d74446bed79df5ddc9674bc3f2a0b6c444
Author:     Martin Kepplinger <martink@posteo.de>
AuthorDate: Thu, 14 Sep 2017 08:01:38 +0200
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Fri, 15 Sep 2017 10:30:30 +0200

tools/objtool: Fix memory leak in elf_create_rela_section()

Let's free the allocated char array 'relaname' before returning,
in order to avoid leaking memory.

Signed-off-by: Martin Kepplinger <martink@posteo.de>
Reviewed-by: Don Zickus <dzickus@redhat.com>
Acked-by: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: mingo.kernel.org@gmail.com
Link: http://lkml.kernel.org/r/20170914060138.26472-1-martink@posteo.de
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 tools/objtool/elf.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/objtool/elf.c b/tools/objtool/elf.c
index 6e9f980..1e89a5f 100644
--- a/tools/objtool/elf.c
+++ b/tools/objtool/elf.c
@@ -508,6 +508,7 @@ 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);
+	free(relaname);
 	if (!sec)
 		return NULL;
 

[toc] | [prev] | [next] | [standalone]


#1732803 — [tip:core/urgent] objtool: Fix memory leak in elf_create_rela_section()

Fromtip-bot for Martin Kepplinger <tipbot@zytor.com>
Date2017-09-15 11:50 +0200
Subject[tip:core/urgent] objtool: Fix memory leak in elf_create_rela_section()
Message-ID<upVq1-ZU-3@gated-at.bofh.it>
In reply to#1732056
Commit-ID:  0998b7a0befdf6e734032895ee639a5e6f88cc3f
Gitweb:     http://git.kernel.org/tip/0998b7a0befdf6e734032895ee639a5e6f88cc3f
Author:     Martin Kepplinger <martink@posteo.de>
AuthorDate: Thu, 14 Sep 2017 08:01:38 +0200
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Fri, 15 Sep 2017 11:31:43 +0200

objtool: Fix memory leak in elf_create_rela_section()

Let's free the allocated char array 'relaname' before returning,
in order to avoid leaking memory.

Signed-off-by: Martin Kepplinger <martink@posteo.de>
Acked-by: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: mingo.kernel.org@gmail.com
Link: http://lkml.kernel.org/r/20170914060138.26472-1-martink@posteo.de
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 tools/objtool/elf.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/objtool/elf.c b/tools/objtool/elf.c
index 6e9f980..1e89a5f 100644
--- a/tools/objtool/elf.c
+++ b/tools/objtool/elf.c
@@ -508,6 +508,7 @@ 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);
+	free(relaname);
 	if (!sec)
 		return NULL;
 

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web