aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/session.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/perf/util/session.c')
-rw-r--r--tools/perf/util/session.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
index 9da5e723495c..ddf288fca3eb 100644
--- a/tools/perf/util/session.c
+++ b/tools/perf/util/session.c
@@ -118,16 +118,11 @@ struct map_symbol *perf_session__resolve_callchain(struct perf_session *self,
118 struct symbol **parent) 118 struct symbol **parent)
119{ 119{
120 u8 cpumode = PERF_RECORD_MISC_USER; 120 u8 cpumode = PERF_RECORD_MISC_USER;
121 struct map_symbol *syms = NULL;
122 unsigned int i; 121 unsigned int i;
122 struct map_symbol *syms = calloc(chain->nr, sizeof(*syms));
123 123
124 if (symbol_conf.use_callchain) { 124 if (!syms)
125 syms = calloc(chain->nr, sizeof(*syms)); 125 return NULL;
126 if (!syms) {
127 fprintf(stderr, "Can't allocate memory for symbols\n");
128 exit(-1);
129 }
130 }
131 126
132 for (i = 0; i < chain->nr; i++) { 127 for (i = 0; i < chain->nr; i++) {
133 u64 ip = chain->ips[i]; 128 u64 ip = chain->ips[i];