diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c index a0c186acb1f3ee5b9be6c8878cb74bd181a77644..bc2cdbd09a253078e99037fcb189737273e7f33a 100644 --- a/tools/perf/util/machine.c +++ b/tools/perf/util/machine.c @@ -138,8 +138,10 @@ void machine__exit(struct machine *machine) void machine__delete(struct machine *machine) { - machine__exit(machine); - free(machine); + if (machine) { + machine__exit(machine); + free(machine); + } } void machines__init(struct machines *machines) diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c index 084756c173094c53e393b5f999968f9ade2a13a2..caad19d8c7ef9c451b76d15e9e8b36e5c7261f6b 100644 --- a/tools/perf/util/probe-event.c +++ b/tools/perf/util/probe-event.c @@ -102,10 +102,8 @@ int init_probe_symbol_maps(bool user_only) void exit_probe_symbol_maps(void) { - if (host_machine) { - machine__delete(host_machine); - host_machine = NULL; - } + machine__delete(host_machine); + host_machine = NULL; symbol__exit(); }