aboutsummaryrefslogtreecommitdiff
path: root/proc.c
diff options
context:
space:
mode:
authorPetr Machata <pmachata@redhat.com>2012-10-27 00:30:57 +0200
committerPetr Machata <pmachata@redhat.com>2012-10-27 00:30:57 +0200
commitef0c74de9320c86ab1f08e5f9c15b031ed36d01f (patch)
tree28cb78e603589c2d758130604a7f3cbb3e4ae397 /proc.c
parent8a98e6f756c7e6a4171e7dee563f0efbb28b9f33 (diff)
downloadltrace-ef0c74de9320c86ab1f08e5f9c15b031ed36d01f.tar.gz
Fix memory handling of pid2name result
This plugs a leak.
Diffstat (limited to 'proc.c')
-rw-r--r--proc.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/proc.c b/proc.c
index 6b0cf97..e601e15 100644
--- a/proc.c
+++ b/proc.c
@@ -440,13 +440,15 @@ open_one_pid(pid_t pid)
* easily free it, untracing is more work. */
if ((filename = pid2name(pid)) == NULL
|| trace_pid(pid) < 0) {
+ fail:
free(filename);
return -1;
}
proc = open_program(filename, pid);
if (proc == NULL)
- return -1;
+ goto fail;
+ free(filename);
trace_set_options(proc);
return 0;