2015-12-03 22:34:24

by John Kacur

[permalink] [raw]
Subject: [PATCH] trace-cmd: trace-cmd.c call free only once on tracing and path

>From 33102b6423ba64798d91aee9de4ecb21189dd49e Mon Sep 17 00:00:00 2001
From: John Kacur <[email protected]>
Date: Thu, 3 Dec 2015 23:29:05 +0100
Subject: [PATCH] trace-cmd: don't call free on tracing and path more than once

In version trace-cmd-stable-v2.2 it is possible to call free on
tracing and path more than once.

Ensure this only happens once by moving this block to after the call
to out_free

Signed-off-by: John Kacur <[email protected]>
---
trace-recorder.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/trace-recorder.c b/trace-recorder.c
index 540765bc9c65..cfdc45e053ab 100644
--- a/trace-recorder.c
+++ b/trace-recorder.c
@@ -97,15 +97,15 @@ struct tracecmd_recorder *tracecmd_create_recorder_fd(int fd, int cpu, unsigned
if (recorder->trace_fd < 0)
goto out_free;

- free(tracing);
- free(path);
-
if ((recorder->flags & TRACECMD_RECORD_NOSPLICE) == 0) {
ret = pipe(recorder->brass);
if (ret < 0)
goto out_free;
}

+ free(tracing);
+ free(path);
+
return recorder;

out_free:
--
2.4.3