* [perf PATCH v2] Use pclose() instead of fclose() on pipe stream
@ 2013-01-25 10:02 Thomas Jarosch
2013-01-28 8:56 ` [perf PATCH] Fix NULL pointer dereference on error Thomas Jarosch
0 siblings, 1 reply; 3+ messages in thread
From: Thomas Jarosch @ 2013-01-25 10:02 UTC (permalink / raw)
To: acme; +Cc: linux-kernel
cppcheck message:
[tools/perf/util/sort.c:277]: (error) Mismatching allocation and deallocation: fp
Also fix descriptor leak on error and always initialize the "fp" variable.
Signed-off-by: Thomas Jarosch <thomas.jarosch@intra2net.com>
---
tools/perf/util/sort.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c
index 7ad6239..a83ded2 100644
--- a/tools/perf/util/sort.c
+++ b/tools/perf/util/sort.c
@@ -249,7 +249,7 @@ static int hist_entry__srcline_snprintf(struct hist_entry *self, char *bf,
size_t size,
unsigned int width __maybe_unused)
{
- FILE *fp;
+ FILE *fp = NULL;
char cmd[PATH_MAX + 2], *path = self->srcline, *nl;
size_t line_len;
@@ -270,7 +270,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;
@@ -280,8 +279,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] 3+ messages in thread
* [perf PATCH] Fix NULL pointer dereference on error
@ 2013-01-28 8:56 ` Thomas Jarosch
2013-01-31 11:01 ` [tip:perf/core] perf sort: Use pclose() instead of fclose() on pipe stream tip-bot for Thomas Jarosch
0 siblings, 1 reply; 3+ messages in thread
From: Thomas Jarosch @ 2013-01-28 8:56 UTC (permalink / raw)
To: acme; +Cc: linux-kernel
pclose(NULL) is undefined behavior and crashes.
Signed-off-by: Thomas Jarosch <thomas.jarosch@intra2net.com>
---
tools/perf/util/sort.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c
index a83ded2..8333661 100644
--- a/tools/perf/util/sort.c
+++ b/tools/perf/util/sort.c
@@ -279,10 +279,12 @@ static int hist_entry__srcline_snprintf(struct hist_entry *self, char *bf,
*nl = '\0';
path = self->srcline;
out_path:
- pclose(fp);
+ if (fp)
+ pclose(fp);
return repsep_snprintf(bf, size, "%s", path);
out_ip:
- pclose(fp);
+ if (fp)
+ pclose(fp);
return repsep_snprintf(bf, size, "%-#*llx", BITS_PER_LONG / 4, self->ip);
}
--
1.7.11.7
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [tip:perf/core] perf sort: Use pclose() instead of fclose() on pipe stream
2013-01-28 8:56 ` [perf PATCH] Fix NULL pointer dereference on error Thomas Jarosch
@ 2013-01-31 11:01 ` tip-bot for Thomas Jarosch
0 siblings, 0 replies; 3+ messages in thread
From: tip-bot for Thomas Jarosch @ 2013-01-31 11:01 UTC (permalink / raw)
To: linux-tip-commits; +Cc: acme, linux-kernel, hpa, mingo, thomas.jarosch, tglx
Commit-ID: 8eb44dd76ac994b020e5cfe72635c90d9e0ad995
Gitweb: http://git.kernel.org/tip/8eb44dd76ac994b020e5cfe72635c90d9e0ad995
Author: Thomas Jarosch <thomas.jarosch@intra2net.com>
AuthorDate: Fri, 25 Jan 2013 11:02:13 +0100
Committer: Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Wed, 30 Jan 2013 10:38:48 -0300
perf sort: Use pclose() instead of fclose() on pipe stream
cppcheck message:
[tools/perf/util/sort.c:277]: (error) Mismatching allocation and deallocation: fp
Also fix descriptor leak on error and always initialize the "fp" variable.
Signed-off-by: Thomas Jarosch <thomas.jarosch@intra2net.com>
Link: http://lkml.kernel.org/r/1359112354.yZcisNZ4k0@storm
Link: http://lkml.kernel.org/r/2266358.qvDXKLvJ67@storm
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/sort.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c
index 7ad6239..8333661 100644
--- a/tools/perf/util/sort.c
+++ b/tools/perf/util/sort.c
@@ -249,7 +249,7 @@ static int hist_entry__srcline_snprintf(struct hist_entry *self, char *bf,
size_t size,
unsigned int width __maybe_unused)
{
- FILE *fp;
+ FILE *fp = NULL;
char cmd[PATH_MAX + 2], *path = self->srcline, *nl;
size_t line_len;
@@ -270,7 +270,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;
@@ -280,8 +279,12 @@ static int hist_entry__srcline_snprintf(struct hist_entry *self, char *bf,
*nl = '\0';
path = self->srcline;
out_path:
+ if (fp)
+ pclose(fp);
return repsep_snprintf(bf, size, "%s", path);
out_ip:
+ if (fp)
+ pclose(fp);
return repsep_snprintf(bf, size, "%-#*llx", BITS_PER_LONG / 4, self->ip);
}
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-01-31 11:01 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-25 10:02 [perf PATCH v2] Use pclose() instead of fclose() on pipe stream Thomas Jarosch
2013-01-28 8:56 ` [perf PATCH] Fix NULL pointer dereference on error Thomas Jarosch
2013-01-31 11:01 ` [tip:perf/core] perf sort: Use pclose() instead of fclose() on pipe stream tip-bot for Thomas Jarosch
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.