diff options
29 files changed, 84 insertions, 81 deletions
diff --git a/tools/perf/builtin-diff.c b/tools/perf/builtin-diff.c index 2a85cc9a2d09..e6a0844bc2f0 100644 --- a/tools/perf/builtin-diff.c +++ b/tools/perf/builtin-diff.c | |||
| @@ -654,7 +654,7 @@ static void data__free(struct data__file *d) | |||
| 654 | for (col = 0; col < PERF_HPP_DIFF__MAX_INDEX; col++) { | 654 | for (col = 0; col < PERF_HPP_DIFF__MAX_INDEX; col++) { |
| 655 | struct diff_hpp_fmt *fmt = &d->fmt[col]; | 655 | struct diff_hpp_fmt *fmt = &d->fmt[col]; |
| 656 | 656 | ||
| 657 | free(fmt->header); | 657 | zfree(&fmt->header); |
| 658 | } | 658 | } |
| 659 | } | 659 | } |
| 660 | 660 | ||
diff --git a/tools/perf/builtin-sched.c b/tools/perf/builtin-sched.c index 0f3c65518a2c..6a76a07b6789 100644 --- a/tools/perf/builtin-sched.c +++ b/tools/perf/builtin-sched.c | |||
| @@ -469,7 +469,7 @@ static void *thread_func(void *ctx) | |||
| 469 | char comm2[22]; | 469 | char comm2[22]; |
| 470 | int fd; | 470 | int fd; |
| 471 | 471 | ||
| 472 | free(parms); | 472 | zfree(&parms); |
| 473 | 473 | ||
| 474 | sprintf(comm2, ":%s", this_task->comm); | 474 | sprintf(comm2, ":%s", this_task->comm); |
| 475 | prctl(PR_SET_NAME, comm2); | 475 | prctl(PR_SET_NAME, comm2); |
diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c index 62ef190c4320..6040000bdfa6 100644 --- a/tools/perf/builtin-script.c +++ b/tools/perf/builtin-script.c | |||
| @@ -1102,9 +1102,9 @@ static struct script_desc *script_desc__new(const char *name) | |||
| 1102 | 1102 | ||
| 1103 | static void script_desc__delete(struct script_desc *s) | 1103 | static void script_desc__delete(struct script_desc *s) |
| 1104 | { | 1104 | { |
| 1105 | free(s->name); | 1105 | zfree(&s->name); |
| 1106 | free(s->half_liner); | 1106 | zfree(&s->half_liner); |
| 1107 | free(s->args); | 1107 | zfree(&s->args); |
| 1108 | free(s); | 1108 | free(s); |
| 1109 | } | 1109 | } |
| 1110 | 1110 | ||
diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c index 022d1731b801..a7045ea6d1d5 100644 --- a/tools/perf/ui/browsers/hists.c +++ b/tools/perf/ui/browsers/hists.c | |||
| @@ -1327,7 +1327,7 @@ static int switch_data_file(void) | |||
| 1327 | 1327 | ||
| 1328 | abs_path[nr_options] = strdup(path); | 1328 | abs_path[nr_options] = strdup(path); |
| 1329 | if (!abs_path[nr_options]) { | 1329 | if (!abs_path[nr_options]) { |
| 1330 | free(options[nr_options]); | 1330 | zfree(&options[nr_options]); |
| 1331 | ui__warning("Can't search all data files due to memory shortage.\n"); | 1331 | ui__warning("Can't search all data files due to memory shortage.\n"); |
| 1332 | fclose(file); | 1332 | fclose(file); |
| 1333 | break; | 1333 | break; |
diff --git a/tools/perf/ui/stdio/hist.c b/tools/perf/ui/stdio/hist.c index c244cb524ef2..831fbb77d1ff 100644 --- a/tools/perf/ui/stdio/hist.c +++ b/tools/perf/ui/stdio/hist.c | |||
| @@ -510,7 +510,7 @@ print_entries: | |||
| 510 | 510 | ||
| 511 | free(line); | 511 | free(line); |
| 512 | out: | 512 | out: |
| 513 | free(rem_sq_bracket); | 513 | zfree(&rem_sq_bracket); |
| 514 | 514 | ||
| 515 | return ret; | 515 | return ret; |
| 516 | } | 516 | } |
diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c index a78721d14694..469eb679fb9d 100644 --- a/tools/perf/util/annotate.c +++ b/tools/perf/util/annotate.c | |||
| @@ -26,10 +26,10 @@ static int disasm_line__parse(char *line, char **namep, char **rawp); | |||
| 26 | 26 | ||
| 27 | static void ins__delete(struct ins_operands *ops) | 27 | static void ins__delete(struct ins_operands *ops) |
| 28 | { | 28 | { |
| 29 | free(ops->source.raw); | 29 | zfree(&ops->source.raw); |
| 30 | free(ops->source.name); | 30 | zfree(&ops->source.name); |
| 31 | free(ops->target.raw); | 31 | zfree(&ops->target.raw); |
| 32 | free(ops->target.name); | 32 | zfree(&ops->target.name); |
| 33 | } | 33 | } |
| 34 | 34 | ||
| 35 | static int ins__raw_scnprintf(struct ins *ins, char *bf, size_t size, | 35 | static int ins__raw_scnprintf(struct ins *ins, char *bf, size_t size, |
| @@ -204,9 +204,9 @@ static int lock__scnprintf(struct ins *ins, char *bf, size_t size, | |||
| 204 | 204 | ||
| 205 | static void lock__delete(struct ins_operands *ops) | 205 | static void lock__delete(struct ins_operands *ops) |
| 206 | { | 206 | { |
| 207 | free(ops->locked.ops); | 207 | zfree(&ops->locked.ops); |
| 208 | free(ops->target.raw); | 208 | zfree(&ops->target.raw); |
| 209 | free(ops->target.name); | 209 | zfree(&ops->target.name); |
| 210 | } | 210 | } |
| 211 | 211 | ||
| 212 | static struct ins_ops lock_ops = { | 212 | static struct ins_ops lock_ops = { |
| @@ -583,7 +583,7 @@ static struct disasm_line *disasm_line__new(s64 offset, char *line, size_t privs | |||
| 583 | return dl; | 583 | return dl; |
| 584 | 584 | ||
| 585 | out_free_line: | 585 | out_free_line: |
| 586 | free(dl->line); | 586 | zfree(&dl->line); |
| 587 | out_delete: | 587 | out_delete: |
| 588 | free(dl); | 588 | free(dl); |
| 589 | return NULL; | 589 | return NULL; |
| @@ -591,8 +591,8 @@ out_delete: | |||
| 591 | 591 | ||
| 592 | void disasm_line__free(struct disasm_line *dl) | 592 | void disasm_line__free(struct disasm_line *dl) |
| 593 | { | 593 | { |
| 594 | free(dl->line); | 594 | zfree(&dl->line); |
| 595 | free(dl->name); | 595 | zfree(&dl->name); |
| 596 | if (dl->ins && dl->ins->ops->free) | 596 | if (dl->ins && dl->ins->ops->free) |
| 597 | dl->ins->ops->free(&dl->ops); | 597 | dl->ins->ops->free(&dl->ops); |
| 598 | else | 598 | else |
diff --git a/tools/perf/util/cgroup.c b/tools/perf/util/cgroup.c index 96bbda1ddb83..0922aa4218c2 100644 --- a/tools/perf/util/cgroup.c +++ b/tools/perf/util/cgroup.c | |||
| @@ -133,7 +133,7 @@ void close_cgroup(struct cgroup_sel *cgrp) | |||
| 133 | /* XXX: not reentrant */ | 133 | /* XXX: not reentrant */ |
| 134 | if (--cgrp->refcnt == 0) { | 134 | if (--cgrp->refcnt == 0) { |
| 135 | close(cgrp->fd); | 135 | close(cgrp->fd); |
| 136 | free(cgrp->name); | 136 | zfree(&cgrp->name); |
| 137 | free(cgrp); | 137 | free(cgrp); |
| 138 | } | 138 | } |
| 139 | } | 139 | } |
diff --git a/tools/perf/util/comm.c b/tools/perf/util/comm.c index ee0df0e24cdb..67d1e404c0cb 100644 --- a/tools/perf/util/comm.c +++ b/tools/perf/util/comm.c | |||
| @@ -21,7 +21,7 @@ static void comm_str__put(struct comm_str *cs) | |||
| 21 | { | 21 | { |
| 22 | if (!--cs->ref) { | 22 | if (!--cs->ref) { |
| 23 | rb_erase(&cs->rb_node, &comm_str_root); | 23 | rb_erase(&cs->rb_node, &comm_str_root); |
| 24 | free(cs->str); | 24 | zfree(&cs->str); |
| 25 | free(cs); | 25 | free(cs); |
| 26 | } | 26 | } |
| 27 | } | 27 | } |
diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c index 93b6031d5459..ade8d9c1c431 100644 --- a/tools/perf/util/evsel.c +++ b/tools/perf/util/evsel.c | |||
| @@ -208,7 +208,7 @@ struct perf_evsel *perf_evsel__newtp_idx(const char *sys, const char *name, int | |||
| 208 | return evsel; | 208 | return evsel; |
| 209 | 209 | ||
| 210 | out_free: | 210 | out_free: |
| 211 | free(evsel->name); | 211 | zfree(&evsel->name); |
| 212 | free(evsel); | 212 | free(evsel); |
| 213 | return NULL; | 213 | return NULL; |
| 214 | } | 214 | } |
| @@ -766,7 +766,7 @@ void perf_evsel__close_fd(struct perf_evsel *evsel, int ncpus, int nthreads) | |||
| 766 | 766 | ||
| 767 | void perf_evsel__free_counts(struct perf_evsel *evsel) | 767 | void perf_evsel__free_counts(struct perf_evsel *evsel) |
| 768 | { | 768 | { |
| 769 | free(evsel->counts); | 769 | zfree(&evsel->counts); |
| 770 | } | 770 | } |
| 771 | 771 | ||
| 772 | void perf_evsel__exit(struct perf_evsel *evsel) | 772 | void perf_evsel__exit(struct perf_evsel *evsel) |
| @@ -780,10 +780,10 @@ void perf_evsel__delete(struct perf_evsel *evsel) | |||
| 780 | { | 780 | { |
| 781 | perf_evsel__exit(evsel); | 781 | perf_evsel__exit(evsel); |
| 782 | close_cgroup(evsel->cgrp); | 782 | close_cgroup(evsel->cgrp); |
| 783 | free(evsel->group_name); | 783 | zfree(&evsel->group_name); |
| 784 | if (evsel->tp_format) | 784 | if (evsel->tp_format) |
| 785 | pevent_free_format(evsel->tp_format); | 785 | pevent_free_format(evsel->tp_format); |
| 786 | free(evsel->name); | 786 | zfree(&evsel->name); |
| 787 | free(evsel); | 787 | free(evsel); |
| 788 | } | 788 | } |
| 789 | 789 | ||
diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c index 20f3a9c97bd8..a4a60b7887ee 100644 --- a/tools/perf/util/header.c +++ b/tools/perf/util/header.c | |||
| @@ -800,10 +800,10 @@ static void free_cpu_topo(struct cpu_topo *tp) | |||
| 800 | return; | 800 | return; |
| 801 | 801 | ||
| 802 | for (i = 0 ; i < tp->core_sib; i++) | 802 | for (i = 0 ; i < tp->core_sib; i++) |
| 803 | free(tp->core_siblings[i]); | 803 | zfree(&tp->core_siblings[i]); |
| 804 | 804 | ||
| 805 | for (i = 0 ; i < tp->thread_sib; i++) | 805 | for (i = 0 ; i < tp->thread_sib; i++) |
| 806 | free(tp->thread_siblings[i]); | 806 | zfree(&tp->thread_siblings[i]); |
| 807 | 807 | ||
| 808 | free(tp); | 808 | free(tp); |
| 809 | } | 809 | } |
| @@ -1232,8 +1232,8 @@ static void free_event_desc(struct perf_evsel *events) | |||
| 1232 | return; | 1232 | return; |
| 1233 | 1233 | ||
| 1234 | for (evsel = events; evsel->attr.size; evsel++) { | 1234 | for (evsel = events; evsel->attr.size; evsel++) { |
| 1235 | free(evsel->name); | 1235 | zfree(&evsel->name); |
| 1236 | free(evsel->id); | 1236 | zfree(&evsel->id); |
| 1237 | } | 1237 | } |
| 1238 | 1238 | ||
| 1239 | free(events); | 1239 | free(events); |
| @@ -2105,7 +2105,7 @@ static int process_group_desc(struct perf_file_section *section __maybe_unused, | |||
| 2105 | ret = 0; | 2105 | ret = 0; |
| 2106 | out_free: | 2106 | out_free: |
| 2107 | for (i = 0; i < nr_groups; i++) | 2107 | for (i = 0; i < nr_groups; i++) |
| 2108 | free(desc[i].name); | 2108 | zfree(&desc[i].name); |
| 2109 | free(desc); | 2109 | free(desc); |
| 2110 | 2110 | ||
| 2111 | return ret; | 2111 | return ret; |
diff --git a/tools/perf/util/help.c b/tools/perf/util/help.c index 7b68978e50d2..86c37c472263 100644 --- a/tools/perf/util/help.c +++ b/tools/perf/util/help.c | |||
| @@ -22,8 +22,8 @@ static void clean_cmdnames(struct cmdnames *cmds) | |||
| 22 | unsigned int i; | 22 | unsigned int i; |
| 23 | 23 | ||
| 24 | for (i = 0; i < cmds->cnt; ++i) | 24 | for (i = 0; i < cmds->cnt; ++i) |
| 25 | free(cmds->names[i]); | 25 | zfree(&cmds->names[i]); |
| 26 | free(cmds->names); | 26 | zfree(&cmds->names); |
| 27 | cmds->cnt = 0; | 27 | cmds->cnt = 0; |
| 28 | cmds->alloc = 0; | 28 | cmds->alloc = 0; |
| 29 | } | 29 | } |
diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c index 6cd4823a7a8b..4ed3e883240d 100644 --- a/tools/perf/util/hist.c +++ b/tools/perf/util/hist.c | |||
| @@ -372,7 +372,7 @@ static struct hist_entry *add_hist_entry(struct hists *hists, | |||
| 372 | * This mem info was allocated from machine__resolve_mem | 372 | * This mem info was allocated from machine__resolve_mem |
| 373 | * and will not be used anymore. | 373 | * and will not be used anymore. |
| 374 | */ | 374 | */ |
| 375 | free(entry->mem_info); | 375 | zfree(&entry->mem_info); |
| 376 | 376 | ||
| 377 | /* If the map of an existing hist_entry has | 377 | /* If the map of an existing hist_entry has |
| 378 | * become out-of-date due to an exec() or | 378 | * become out-of-date due to an exec() or |
| @@ -475,8 +475,8 @@ hist_entry__collapse(struct hist_entry *left, struct hist_entry *right) | |||
| 475 | 475 | ||
| 476 | void hist_entry__free(struct hist_entry *he) | 476 | void hist_entry__free(struct hist_entry *he) |
| 477 | { | 477 | { |
| 478 | free(he->branch_info); | 478 | zfree(&he->branch_info); |
| 479 | free(he->mem_info); | 479 | zfree(&he->mem_info); |
| 480 | free_srcline(he->srcline); | 480 | free_srcline(he->srcline); |
| 481 | free(he); | 481 | free(he); |
| 482 | } | 482 | } |
diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c index 094c28ba2fae..0153435b8427 100644 --- a/tools/perf/util/parse-events.c +++ b/tools/perf/util/parse-events.c | |||
| @@ -204,7 +204,7 @@ struct tracepoint_path *tracepoint_id_to_path(u64 config) | |||
| 204 | } | 204 | } |
| 205 | path->name = malloc(MAX_EVENT_LENGTH); | 205 | path->name = malloc(MAX_EVENT_LENGTH); |
| 206 | if (!path->name) { | 206 | if (!path->name) { |
| 207 | free(path->system); | 207 | zfree(&path->system); |
| 208 | free(path); | 208 | free(path); |
| 209 | return NULL; | 209 | return NULL; |
| 210 | } | 210 | } |
| @@ -236,8 +236,8 @@ struct tracepoint_path *tracepoint_name_to_path(const char *name) | |||
| 236 | path->name = strdup(str+1); | 236 | path->name = strdup(str+1); |
| 237 | 237 | ||
| 238 | if (path->system == NULL || path->name == NULL) { | 238 | if (path->system == NULL || path->name == NULL) { |
| 239 | free(path->system); | 239 | zfree(&path->system); |
| 240 | free(path->name); | 240 | zfree(&path->name); |
| 241 | free(path); | 241 | free(path); |
| 242 | path = NULL; | 242 | path = NULL; |
| 243 | } | 243 | } |
| @@ -917,7 +917,7 @@ int parse_events_terms(struct list_head *terms, const char *str) | |||
| 917 | ret = parse_events__scanner(str, &data, PE_START_TERMS); | 917 | ret = parse_events__scanner(str, &data, PE_START_TERMS); |
| 918 | if (!ret) { | 918 | if (!ret) { |
| 919 | list_splice(data.terms, terms); | 919 | list_splice(data.terms, terms); |
| 920 | free(data.terms); | 920 | zfree(&data.terms); |
| 921 | return 0; | 921 | return 0; |
| 922 | } | 922 | } |
| 923 | 923 | ||
diff --git a/tools/perf/util/pmu.c b/tools/perf/util/pmu.c index 56fc10a5e288..0934d645ebdc 100644 --- a/tools/perf/util/pmu.c +++ b/tools/perf/util/pmu.c | |||
| @@ -755,7 +755,7 @@ void print_pmu_events(const char *event_glob, bool name_only) | |||
| 755 | continue; | 755 | continue; |
| 756 | } | 756 | } |
| 757 | printf(" %-50s [Kernel PMU event]\n", aliases[j]); | 757 | printf(" %-50s [Kernel PMU event]\n", aliases[j]); |
| 758 | free(aliases[j]); | 758 | zfree(&aliases[j]); |
| 759 | printed++; | 759 | printed++; |
| 760 | } | 760 | } |
| 761 | if (printed) | 761 | if (printed) |
diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c index 4d3cd1a0278a..86ed8580c3cb 100644 --- a/tools/perf/util/probe-event.c +++ b/tools/perf/util/probe-event.c | |||
| @@ -356,7 +356,7 @@ static int add_exec_to_probe_trace_events(struct probe_trace_event *tevs, | |||
| 356 | offset = tevs[i].point.address - stext; | 356 | offset = tevs[i].point.address - stext; |
| 357 | offset += tevs[i].point.offset; | 357 | offset += tevs[i].point.offset; |
| 358 | tevs[i].point.offset = 0; | 358 | tevs[i].point.offset = 0; |
| 359 | free(tevs[i].point.symbol); | 359 | zfree(&tevs[i].point.symbol); |
| 360 | ret = e_snprintf(buf, 32, "0x%lx", offset); | 360 | ret = e_snprintf(buf, 32, "0x%lx", offset); |
| 361 | if (ret < 0) | 361 | if (ret < 0) |
| 362 | break; | 362 | break; |
| @@ -683,7 +683,7 @@ static int show_available_vars_at(struct debuginfo *dinfo, | |||
| 683 | */ | 683 | */ |
| 684 | fprintf(stdout, "\t@<%s+%lu>\n", vl->point.symbol, | 684 | fprintf(stdout, "\t@<%s+%lu>\n", vl->point.symbol, |
| 685 | vl->point.offset); | 685 | vl->point.offset); |
| 686 | free(vl->point.symbol); | 686 | zfree(&vl->point.symbol); |
| 687 | nvars = 0; | 687 | nvars = 0; |
| 688 | if (vl->vars) { | 688 | if (vl->vars) { |
| 689 | strlist__for_each(node, vl->vars) { | 689 | strlist__for_each(node, vl->vars) { |
| @@ -1592,7 +1592,7 @@ void clear_perf_probe_event(struct perf_probe_event *pev) | |||
| 1592 | field = pev->args[i].field; | 1592 | field = pev->args[i].field; |
| 1593 | while (field) { | 1593 | while (field) { |
| 1594 | next = field->next; | 1594 | next = field->next; |
| 1595 | free(field->name); | 1595 | zfree(&field->name); |
| 1596 | free(field); | 1596 | free(field); |
| 1597 | field = next; | 1597 | field = next; |
| 1598 | } | 1598 | } |
| @@ -2153,7 +2153,7 @@ end: | |||
| 2153 | for (i = 0; i < npevs; i++) { | 2153 | for (i = 0; i < npevs; i++) { |
| 2154 | for (j = 0; j < pkgs[i].ntevs; j++) | 2154 | for (j = 0; j < pkgs[i].ntevs; j++) |
| 2155 | clear_probe_trace_event(&pkgs[i].tevs[j]); | 2155 | clear_probe_trace_event(&pkgs[i].tevs[j]); |
| 2156 | free(pkgs[i].tevs); | 2156 | zfree(&pkgs[i].tevs); |
| 2157 | } | 2157 | } |
| 2158 | free(pkgs); | 2158 | free(pkgs); |
| 2159 | 2159 | ||
diff --git a/tools/perf/util/probe-finder.c b/tools/perf/util/probe-finder.c index 6d8796e38d7f..061edb162b5b 100644 --- a/tools/perf/util/probe-finder.c +++ b/tools/perf/util/probe-finder.c | |||
| @@ -1409,7 +1409,7 @@ int debuginfo__find_available_vars_at(struct debuginfo *dbg, | |||
| 1409 | if (ret < 0) { | 1409 | if (ret < 0) { |
| 1410 | /* Free vlist for error */ | 1410 | /* Free vlist for error */ |
| 1411 | while (af.nvls--) { | 1411 | while (af.nvls--) { |
| 1412 | free(af.vls[af.nvls].point.symbol); | 1412 | zfree(&af.vls[af.nvls].point.symbol); |
| 1413 | strlist__delete(af.vls[af.nvls].vars); | 1413 | strlist__delete(af.vls[af.nvls].vars); |
| 1414 | } | 1414 | } |
| 1415 | zfree(vls); | 1415 | zfree(vls); |
diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c index d3a857be9682..8ffe29c55d0f 100644 --- a/tools/perf/util/session.c +++ b/tools/perf/util/session.c | |||
| @@ -132,18 +132,18 @@ static void perf_session__delete_threads(struct perf_session *session) | |||
| 132 | 132 | ||
| 133 | static void perf_session_env__delete(struct perf_session_env *env) | 133 | static void perf_session_env__delete(struct perf_session_env *env) |
| 134 | { | 134 | { |
| 135 | free(env->hostname); | 135 | zfree(&env->hostname); |
| 136 | free(env->os_release); | 136 | zfree(&env->os_release); |
| 137 | free(env->version); | 137 | zfree(&env->version); |
| 138 | free(env->arch); | 138 | zfree(&env->arch); |
| 139 | free(env->cpu_desc); | 139 | zfree(&env->cpu_desc); |
| 140 | free(env->cpuid); | 140 | zfree(&env->cpuid); |
| 141 | 141 | ||
| 142 | free(env->cmdline); | 142 | zfree(&env->cmdline); |
| 143 | free(env->sibling_cores); | 143 | zfree(&env->sibling_cores); |
| 144 | free(env->sibling_threads); | 144 | zfree(&env->sibling_threads); |
| 145 | free(env->numa_nodes); | 145 | zfree(&env->numa_nodes); |
| 146 | free(env->pmu_mappings); | 146 | zfree(&env->pmu_mappings); |
| 147 | } | 147 | } |
| 148 | 148 | ||
| 149 | void perf_session__delete(struct perf_session *session) | 149 | void perf_session__delete(struct perf_session *session) |
diff --git a/tools/perf/util/srcline.c b/tools/perf/util/srcline.c index 58b2bd8f38c9..7e67879ebd25 100644 --- a/tools/perf/util/srcline.c +++ b/tools/perf/util/srcline.c | |||
| @@ -129,7 +129,7 @@ static struct a2l_data *addr2line_init(const char *path) | |||
| 129 | 129 | ||
| 130 | out: | 130 | out: |
| 131 | if (a2l) { | 131 | if (a2l) { |
| 132 | free((void *)a2l->input); | 132 | zfree((void **)&a2l->input); |
| 133 | free(a2l); | 133 | free(a2l); |
| 134 | } | 134 | } |
| 135 | bfd_close(abfd); | 135 | bfd_close(abfd); |
| @@ -140,8 +140,8 @@ static void addr2line_cleanup(struct a2l_data *a2l) | |||
| 140 | { | 140 | { |
| 141 | if (a2l->abfd) | 141 | if (a2l->abfd) |
| 142 | bfd_close(a2l->abfd); | 142 | bfd_close(a2l->abfd); |
| 143 | free((void *)a2l->input); | 143 | zfree((void **)&a2l->input); |
| 144 | free(a2l->syms); | 144 | zfree(&a2l->syms); |
| 145 | free(a2l); | 145 | free(a2l); |
| 146 | } | 146 | } |
| 147 | 147 | ||
diff --git a/tools/perf/util/strbuf.c b/tools/perf/util/strbuf.c index cfa906882e2c..4abe23550c73 100644 --- a/tools/perf/util/strbuf.c +++ b/tools/perf/util/strbuf.c | |||
| @@ -28,7 +28,7 @@ void strbuf_init(struct strbuf *sb, ssize_t hint) | |||
| 28 | void strbuf_release(struct strbuf *sb) | 28 | void strbuf_release(struct strbuf *sb) |
| 29 | { | 29 | { |
| 30 | if (sb->alloc) { | 30 | if (sb->alloc) { |
| 31 | free(sb->buf); | 31 | zfree(&sb->buf); |
| 32 | strbuf_init(sb, 0); | 32 | strbuf_init(sb, 0); |
| 33 | } | 33 | } |
| 34 | } | 34 | } |
diff --git a/tools/perf/util/strfilter.c b/tools/perf/util/strfilter.c index 3edd0538161f..79a757a2a15c 100644 --- a/tools/perf/util/strfilter.c +++ b/tools/perf/util/strfilter.c | |||
| @@ -14,7 +14,7 @@ static void strfilter_node__delete(struct strfilter_node *node) | |||
| 14 | { | 14 | { |
| 15 | if (node) { | 15 | if (node) { |
| 16 | if (node->p && !is_operator(*node->p)) | 16 | if (node->p && !is_operator(*node->p)) |
| 17 | free((char *)node->p); | 17 | zfree((char **)&node->p); |
| 18 | strfilter_node__delete(node->l); | 18 | strfilter_node__delete(node->l); |
| 19 | strfilter_node__delete(node->r); | 19 | strfilter_node__delete(node->r); |
| 20 | free(node); | 20 | free(node); |
diff --git a/tools/perf/util/string.c b/tools/perf/util/string.c index f0b0c008c507..2553e5b55b89 100644 --- a/tools/perf/util/string.c +++ b/tools/perf/util/string.c | |||
| @@ -128,7 +128,7 @@ void argv_free(char **argv) | |||
| 128 | { | 128 | { |
| 129 | char **p; | 129 | char **p; |
| 130 | for (p = argv; *p; p++) | 130 | for (p = argv; *p; p++) |
| 131 | free(*p); | 131 | zfree(p); |
| 132 | 132 | ||
| 133 | free(argv); | 133 | free(argv); |
| 134 | } | 134 | } |
diff --git a/tools/perf/util/strlist.c b/tools/perf/util/strlist.c index eabdce0a2daa..61a90bf24b4d 100644 --- a/tools/perf/util/strlist.c +++ b/tools/perf/util/strlist.c | |||
| @@ -5,6 +5,7 @@ | |||
| 5 | */ | 5 | */ |
| 6 | 6 | ||
| 7 | #include "strlist.h" | 7 | #include "strlist.h" |
| 8 | #include "util.h" | ||
| 8 | #include <errno.h> | 9 | #include <errno.h> |
| 9 | #include <stdio.h> | 10 | #include <stdio.h> |
| 10 | #include <stdlib.h> | 11 | #include <stdlib.h> |
| @@ -38,7 +39,7 @@ out_delete: | |||
| 38 | static void str_node__delete(struct str_node *snode, bool dupstr) | 39 | static void str_node__delete(struct str_node *snode, bool dupstr) |
| 39 | { | 40 | { |
| 40 | if (dupstr) | 41 | if (dupstr) |
| 41 | free((void *)snode->s); | 42 | zfree((void **)&snode->s); |
| 42 | free(snode); | 43 | free(snode); |
| 43 | } | 44 | } |
| 44 | 45 | ||
diff --git a/tools/perf/util/svghelper.c b/tools/perf/util/svghelper.c index 56a84f2cc46d..43262b83c541 100644 --- a/tools/perf/util/svghelper.c +++ b/tools/perf/util/svghelper.c | |||
| @@ -21,6 +21,7 @@ | |||
| 21 | 21 | ||
| 22 | #include "perf.h" | 22 | #include "perf.h" |
| 23 | #include "svghelper.h" | 23 | #include "svghelper.h" |
| 24 | #include "util.h" | ||
| 24 | #include "cpumap.h" | 25 | #include "cpumap.h" |
| 25 | 26 | ||
| 26 | static u64 first_time, last_time; | 27 | static u64 first_time, last_time; |
| @@ -708,8 +709,8 @@ int svg_build_topology_map(char *sib_core, int sib_core_nr, | |||
| 708 | return 0; | 709 | return 0; |
| 709 | 710 | ||
| 710 | exit: | 711 | exit: |
| 711 | free(t.sib_core); | 712 | zfree(&t.sib_core); |
| 712 | free(t.sib_thr); | 713 | zfree(&t.sib_thr); |
| 713 | 714 | ||
| 714 | return -1; | 715 | return -1; |
| 715 | } | 716 | } |
diff --git a/tools/perf/util/symbol-elf.c b/tools/perf/util/symbol-elf.c index bf0ce29567b6..4b0a127a4d3b 100644 --- a/tools/perf/util/symbol-elf.c +++ b/tools/perf/util/symbol-elf.c | |||
| @@ -554,7 +554,7 @@ bool symsrc__has_symtab(struct symsrc *ss) | |||
| 554 | 554 | ||
| 555 | void symsrc__destroy(struct symsrc *ss) | 555 | void symsrc__destroy(struct symsrc *ss) |
| 556 | { | 556 | { |
| 557 | free(ss->name); | 557 | zfree(&ss->name); |
| 558 | elf_end(ss->elf); | 558 | elf_end(ss->elf); |
| 559 | close(ss->fd); | 559 | close(ss->fd); |
| 560 | } | 560 | } |
diff --git a/tools/perf/util/symbol-minimal.c b/tools/perf/util/symbol-minimal.c index ac7070a2f2b6..bd15f490d04f 100644 --- a/tools/perf/util/symbol-minimal.c +++ b/tools/perf/util/symbol-minimal.c | |||
| @@ -1,4 +1,5 @@ | |||
| 1 | #include "symbol.h" | 1 | #include "symbol.h" |
| 2 | #include "util.h" | ||
| 2 | 3 | ||
| 3 | #include <stdio.h> | 4 | #include <stdio.h> |
| 4 | #include <fcntl.h> | 5 | #include <fcntl.h> |
| @@ -275,7 +276,7 @@ bool symsrc__has_symtab(struct symsrc *ss __maybe_unused) | |||
| 275 | 276 | ||
| 276 | void symsrc__destroy(struct symsrc *ss) | 277 | void symsrc__destroy(struct symsrc *ss) |
| 277 | { | 278 | { |
| 278 | free(ss->name); | 279 | zfree(&ss->name); |
| 279 | close(ss->fd); | 280 | close(ss->fd); |
| 280 | } | 281 | } |
| 281 | 282 | ||
diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c index fd9e1a4fad16..39ce9adbaaf0 100644 --- a/tools/perf/util/symbol.c +++ b/tools/perf/util/symbol.c | |||
| @@ -796,7 +796,7 @@ static void delete_modules(struct rb_root *modules) | |||
| 796 | mi = rb_entry(next, struct module_info, rb_node); | 796 | mi = rb_entry(next, struct module_info, rb_node); |
| 797 | next = rb_next(&mi->rb_node); | 797 | next = rb_next(&mi->rb_node); |
| 798 | rb_erase(&mi->rb_node, modules); | 798 | rb_erase(&mi->rb_node, modules); |
| 799 | free(mi->name); | 799 | zfree(&mi->name); |
| 800 | free(mi); | 800 | free(mi); |
| 801 | } | 801 | } |
| 802 | } | 802 | } |
diff --git a/tools/perf/util/thread_map.c b/tools/perf/util/thread_map.c index cf44644a4058..5d3215912105 100644 --- a/tools/perf/util/thread_map.c +++ b/tools/perf/util/thread_map.c | |||
| @@ -41,7 +41,7 @@ struct thread_map *thread_map__new_by_pid(pid_t pid) | |||
| 41 | } | 41 | } |
| 42 | 42 | ||
| 43 | for (i=0; i<items; i++) | 43 | for (i=0; i<items; i++) |
| 44 | free(namelist[i]); | 44 | zfree(&namelist[i]); |
| 45 | free(namelist); | 45 | free(namelist); |
| 46 | 46 | ||
| 47 | return threads; | 47 | return threads; |
| @@ -118,7 +118,7 @@ struct thread_map *thread_map__new_by_uid(uid_t uid) | |||
| 118 | threads->map[threads->nr + i] = atoi(namelist[i]->d_name); | 118 | threads->map[threads->nr + i] = atoi(namelist[i]->d_name); |
| 119 | 119 | ||
| 120 | for (i = 0; i < items; i++) | 120 | for (i = 0; i < items; i++) |
| 121 | free(namelist[i]); | 121 | zfree(&namelist[i]); |
| 122 | free(namelist); | 122 | free(namelist); |
| 123 | 123 | ||
| 124 | threads->nr += items; | 124 | threads->nr += items; |
| @@ -135,7 +135,7 @@ out_free_threads: | |||
| 135 | 135 | ||
| 136 | out_free_namelist: | 136 | out_free_namelist: |
| 137 | for (i = 0; i < items; i++) | 137 | for (i = 0; i < items; i++) |
| 138 | free(namelist[i]); | 138 | zfree(&namelist[i]); |
| 139 | free(namelist); | 139 | free(namelist); |
| 140 | 140 | ||
| 141 | out_free_closedir: | 141 | out_free_closedir: |
| @@ -194,7 +194,7 @@ static struct thread_map *thread_map__new_by_pid_str(const char *pid_str) | |||
| 194 | 194 | ||
| 195 | for (i = 0; i < items; i++) { | 195 | for (i = 0; i < items; i++) { |
| 196 | threads->map[j++] = atoi(namelist[i]->d_name); | 196 | threads->map[j++] = atoi(namelist[i]->d_name); |
| 197 | free(namelist[i]); | 197 | zfree(&namelist[i]); |
| 198 | } | 198 | } |
| 199 | threads->nr = total_tasks; | 199 | threads->nr = total_tasks; |
| 200 | free(namelist); | 200 | free(namelist); |
| @@ -206,7 +206,7 @@ out: | |||
| 206 | 206 | ||
| 207 | out_free_namelist: | 207 | out_free_namelist: |
| 208 | for (i = 0; i < items; i++) | 208 | for (i = 0; i < items; i++) |
| 209 | free(namelist[i]); | 209 | zfree(&namelist[i]); |
| 210 | free(namelist); | 210 | free(namelist); |
| 211 | 211 | ||
| 212 | out_free_threads: | 212 | out_free_threads: |
diff --git a/tools/perf/util/trace-event-info.c b/tools/perf/util/trace-event-info.c index 9f73bf43862c..7e6fcfe8b438 100644 --- a/tools/perf/util/trace-event-info.c +++ b/tools/perf/util/trace-event-info.c | |||
| @@ -397,8 +397,8 @@ put_tracepoints_path(struct tracepoint_path *tps) | |||
| 397 | struct tracepoint_path *t = tps; | 397 | struct tracepoint_path *t = tps; |
| 398 | 398 | ||
| 399 | tps = tps->next; | 399 | tps = tps->next; |
| 400 | free(t->name); | 400 | zfree(&t->name); |
| 401 | free(t->system); | 401 | zfree(&t->system); |
| 402 | free(t); | 402 | free(t); |
| 403 | } | 403 | } |
| 404 | } | 404 | } |
diff --git a/tools/perf/util/values.c b/tools/perf/util/values.c index 697c8b4e59cc..0fb3c1fcd3e6 100644 --- a/tools/perf/util/values.c +++ b/tools/perf/util/values.c | |||
| @@ -31,14 +31,14 @@ void perf_read_values_destroy(struct perf_read_values *values) | |||
| 31 | return; | 31 | return; |
| 32 | 32 | ||
| 33 | for (i = 0; i < values->threads; i++) | 33 | for (i = 0; i < values->threads; i++) |
| 34 | free(values->value[i]); | 34 | zfree(&values->value[i]); |
| 35 | free(values->value); | 35 | zfree(&values->value); |
| 36 | free(values->pid); | 36 | zfree(&values->pid); |
| 37 | free(values->tid); | 37 | zfree(&values->tid); |
| 38 | free(values->counterrawid); | 38 | zfree(&values->counterrawid); |
| 39 | for (i = 0; i < values->counters; i++) | 39 | for (i = 0; i < values->counters; i++) |
| 40 | free(values->countername[i]); | 40 | zfree(&values->countername[i]); |
| 41 | free(values->countername); | 41 | zfree(&values->countername); |
| 42 | } | 42 | } |
| 43 | 43 | ||
| 44 | static void perf_read_values__enlarge_threads(struct perf_read_values *values) | 44 | static void perf_read_values__enlarge_threads(struct perf_read_values *values) |
