All of lore.kernel.org
 help / color / mirror / Atom feed
* [perf PATCH] Use pclose() instead of fclose() on pipe stream
@ 2012-12-25 16:02 Thomas Jarosch
  2013-01-11  4:16 ` Arnaldo Carvalho de Melo
  0 siblings, 1 reply; 4+ messages in thread
From: Thomas Jarosch @ 2012-12-25 16:02 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo; +Cc: linux-kernel

cppcheck message:
[tools/perf/util/sort.c:277]: (error) Mismatching allocation and deallocation: fp

Also fix descriptor leak on error

Signed-off-by: Thomas Jarosch <thomas.jarosch@intra2net.com>
---
 tools/perf/util/sort.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c
index cfd1c0f..586d2ea 100644
--- a/tools/perf/util/sort.c
+++ b/tools/perf/util/sort.c
@@ -274,7 +274,6 @@ static int hist_entry__srcline_snprintf(struct hist_entry *self, char *bf,
 
 	if (getline(&path, &line_len, fp) < 0 || !line_len)
 		goto out_ip;
-	fclose(fp);
 	self->srcline = strdup(path);
 	if (self->srcline == NULL)
 		goto out_ip;
@@ -284,8 +283,10 @@ static int hist_entry__srcline_snprintf(struct hist_entry *self, char *bf,
 		*nl = '\0';
 	path = self->srcline;
 out_path:
+	pclose(fp);
 	return repsep_snprintf(bf, size, "%s", path);
 out_ip:
+	pclose(fp);
 	return repsep_snprintf(bf, size, "%-#*llx", BITS_PER_LONG / 4, self->ip);
 }
 
-- 
1.7.11.7


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [perf PATCH] Use pclose() instead of fclose() on pipe stream
  2012-12-25 16:02 [perf PATCH] Use pclose() instead of fclose() on pipe stream Thomas Jarosch
@ 2013-01-11  4:16 ` Arnaldo Carvalho de Melo
  2013-01-16  9:09   ` Thomas Jarosch
  0 siblings, 1 reply; 4+ messages in thread
From: Arnaldo Carvalho de Melo @ 2013-01-11  4:16 UTC (permalink / raw)
  To: Thomas Jarosch; +Cc: linux-kernel

Em Tue, Dec 25, 2012 at 05:02:04PM +0100, Thomas Jarosch escreveu:
> cppcheck message:
> [tools/perf/util/sort.c:277]: (error) Mismatching allocation and deallocation: fp
> 
> Also fix descriptor leak on error
> 
> Signed-off-by: Thomas Jarosch <thomas.jarosch@intra2net.com>
> ---
>  tools/perf/util/sort.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)

After applying this:

    CC /home/acme/git/build/perf/util/cpumap.o
cc1: warnings being treated as errors
util/sort.c: In function ‘hist_entry__srcline_snprintf’:
util/sort.c:254: error: ‘fp’ may be used uninitialized in this function
make: *** [/home/acme/git/build/perf/util/sort.o] Error 1

- Arnaldo

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Re: [perf PATCH] Use pclose() instead of fclose() on pipe stream
  2013-01-11  4:16 ` Arnaldo Carvalho de Melo
@ 2013-01-16  9:09   ` Thomas Jarosch
  2013-01-16 18:13     ` Arnaldo Carvalho de Melo
  0 siblings, 1 reply; 4+ messages in thread
From: Thomas Jarosch @ 2013-01-16  9:09 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo; +Cc: linux-kernel

Hi Arnaldo,

On Friday, 11. January 2013 01:16:03 you wrote:
> > Also fix descriptor leak on error
> > 
> > Signed-off-by: Thomas Jarosch <thomas.jarosch@intra2net.com>
> > ---
> > 
> >  tools/perf/util/sort.c | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> After applying this:
> 
>     CC /home/acme/git/build/perf/util/cpumap.o
> cc1: warnings being treated as errors
> util/sort.c: In function ‘hist_entry__srcline_snprintf’:
> util/sort.c:254: error: ‘fp’ may be used uninitialized in this function
> make: *** [/home/acme/git/build/perf/util/sort.o] Error 1

Alright, looks like I've messed up the "early" error path.
The "FILE *fp" pointer needs to be initialized to NULL.

Should I send another patch or do you want to fix it on the fly?

What about the other patch
"[perf PATCH] Fix possible (unlikely) buffer overflow"

?

Cheers,
Thomas


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Re: [perf PATCH] Use pclose() instead of fclose() on pipe stream
  2013-01-16  9:09   ` Thomas Jarosch
@ 2013-01-16 18:13     ` Arnaldo Carvalho de Melo
  0 siblings, 0 replies; 4+ messages in thread
From: Arnaldo Carvalho de Melo @ 2013-01-16 18:13 UTC (permalink / raw)
  To: Thomas Jarosch; +Cc: linux-kernel

Em Wed, Jan 16, 2013 at 10:09:48AM +0100, Thomas Jarosch escreveu:
> 
> Alright, looks like I've messed up the "early" error path.
> The "FILE *fp" pointer needs to be initialized to NULL.
> 
> Should I send another patch or do you want to fix it on the fly?

Please send another patch taking this into account.
 
> What about the other patch
> "[perf PATCH] Fix possible (unlikely) buffer overflow"

Its in my perf/core branch at:

git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux

As soon as Ingo restarts processing pull requests I'll push it.

- Arnaldo

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-01-16 18:13 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-12-25 16:02 [perf PATCH] Use pclose() instead of fclose() on pipe stream Thomas Jarosch
2013-01-11  4:16 ` Arnaldo Carvalho de Melo
2013-01-16  9:09   ` Thomas Jarosch
2013-01-16 18:13     ` Arnaldo Carvalho de Melo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.