diff options
author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2013-12-26 15:41:15 -0500 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2013-12-27 13:17:00 -0500 |
commit | 046625231a0397f1776eb353a4ec9ff142cd2f6b (patch) | |
tree | 6ce7ab043539d2432b135bc61f39febb3a032039 /tools/perf/util/annotate.c | |
parent | f5385650c02cd4373c4124c8a8fac3b5f9851e7f (diff) |
perf tools: Introduce zfree
For the frequent idiom of:
free(ptr);
ptr = NULL;
Make it expect a pointer to the pointer being freed, so that it becomes
clear at first sight that the variable being freed is being modified.
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-pfw02ezuab37kha18wlut7ir@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/annotate.c')
-rw-r--r-- | tools/perf/util/annotate.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c index 27ab7b59dbf4..a78721d14694 100644 --- a/tools/perf/util/annotate.c +++ b/tools/perf/util/annotate.c | |||
@@ -185,8 +185,7 @@ static int lock__parse(struct ins_operands *ops) | |||
185 | return 0; | 185 | return 0; |
186 | 186 | ||
187 | out_free_ops: | 187 | out_free_ops: |
188 | free(ops->locked.ops); | 188 | zfree(&ops->locked.ops); |
189 | ops->locked.ops = NULL; | ||
190 | return 0; | 189 | return 0; |
191 | } | 190 | } |
192 | 191 | ||
@@ -256,8 +255,7 @@ static int mov__parse(struct ins_operands *ops) | |||
256 | return 0; | 255 | return 0; |
257 | 256 | ||
258 | out_free_source: | 257 | out_free_source: |
259 | free(ops->source.raw); | 258 | zfree(&ops->source.raw); |
260 | ops->source.raw = NULL; | ||
261 | return -1; | 259 | return -1; |
262 | } | 260 | } |
263 | 261 | ||
@@ -560,8 +558,7 @@ static int disasm_line__parse(char *line, char **namep, char **rawp) | |||
560 | return 0; | 558 | return 0; |
561 | 559 | ||
562 | out_free_name: | 560 | out_free_name: |
563 | free(*namep); | 561 | zfree(namep); |
564 | *namep = NULL; | ||
565 | return -1; | 562 | return -1; |
566 | } | 563 | } |
567 | 564 | ||
@@ -1113,8 +1110,7 @@ static void symbol__free_source_line(struct symbol *sym, int len) | |||
1113 | src_line = (void *)src_line + sizeof_src_line; | 1110 | src_line = (void *)src_line + sizeof_src_line; |
1114 | } | 1111 | } |
1115 | 1112 | ||
1116 | free(notes->src->lines); | 1113 | zfree(¬es->src->lines); |
1117 | notes->src->lines = NULL; | ||
1118 | } | 1114 | } |
1119 | 1115 | ||
1120 | /* Get the filename:line for the colored entries */ | 1116 | /* Get the filename:line for the colored entries */ |