aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/perf/builtin-c2c.c1
-rw-r--r--tools/perf/builtin-mem.c1
-rw-r--r--tools/perf/builtin-timechart.c4
-rw-r--r--tools/perf/builtin-trace.c1
4 files changed, 6 insertions, 1 deletions
diff --git a/tools/perf/builtin-c2c.c b/tools/perf/builtin-c2c.c
index 475999e48f66..bb1ee22bd221 100644
--- a/tools/perf/builtin-c2c.c
+++ b/tools/perf/builtin-c2c.c
@@ -2732,6 +2732,7 @@ static int perf_c2c__record(int argc, const char **argv)
2732 if (!perf_mem_events[j].supported) { 2732 if (!perf_mem_events[j].supported) {
2733 pr_err("failed: event '%s' not supported\n", 2733 pr_err("failed: event '%s' not supported\n",
2734 perf_mem_events[j].name); 2734 perf_mem_events[j].name);
2735 free(rec_argv);
2735 return -1; 2736 return -1;
2736 } 2737 }
2737 2738
diff --git a/tools/perf/builtin-mem.c b/tools/perf/builtin-mem.c
index 0f15634ef82c..6940490bc3f9 100644
--- a/tools/perf/builtin-mem.c
+++ b/tools/perf/builtin-mem.c
@@ -112,6 +112,7 @@ static int __cmd_record(int argc, const char **argv, struct perf_mem *mem)
112 if (!perf_mem_events[j].supported) { 112 if (!perf_mem_events[j].supported) {
113 pr_err("failed: event '%s' not supported\n", 113 pr_err("failed: event '%s' not supported\n",
114 perf_mem_events__name(j)); 114 perf_mem_events__name(j));
115 free(rec_argv);
115 return -1; 116 return -1;
116 } 117 }
117 118
diff --git a/tools/perf/builtin-timechart.c b/tools/perf/builtin-timechart.c
index 4e2e61695986..01de01ca14f2 100644
--- a/tools/perf/builtin-timechart.c
+++ b/tools/perf/builtin-timechart.c
@@ -1732,8 +1732,10 @@ static int timechart__io_record(int argc, const char **argv)
1732 if (rec_argv == NULL) 1732 if (rec_argv == NULL)
1733 return -ENOMEM; 1733 return -ENOMEM;
1734 1734
1735 if (asprintf(&filter, "common_pid != %d", getpid()) < 0) 1735 if (asprintf(&filter, "common_pid != %d", getpid()) < 0) {
1736 free(rec_argv);
1736 return -ENOMEM; 1737 return -ENOMEM;
1738 }
1737 1739
1738 p = rec_argv; 1740 p = rec_argv;
1739 for (i = 0; i < common_args_nr; i++) 1741 for (i = 0; i < common_args_nr; i++)
diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
index ee8c6e814437..967bd351b58d 100644
--- a/tools/perf/builtin-trace.c
+++ b/tools/perf/builtin-trace.c
@@ -2078,6 +2078,7 @@ static int trace__record(struct trace *trace, int argc, const char **argv)
2078 rec_argv[j++] = "syscalls:sys_enter,syscalls:sys_exit"; 2078 rec_argv[j++] = "syscalls:sys_enter,syscalls:sys_exit";
2079 else { 2079 else {
2080 pr_err("Neither raw_syscalls nor syscalls events exist.\n"); 2080 pr_err("Neither raw_syscalls nor syscalls events exist.\n");
2081 free(rec_argv);
2081 return -1; 2082 return -1;
2082 } 2083 }
2083 } 2084 }