Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1431408 > unrolled thread

[tip:perf/core] perf machine: Destructors should accept NULL

Started bytip-bot for Arnaldo Carvalho de Melo <tipbot@zytor.com>
First post2016-06-26 13:00 +0200
Last post2016-06-26 13:00 +0200
Articles 1 — 1 participant

Back to article view | Back to linux.kernel


Contents

  [tip:perf/core] perf machine: Destructors should accept NULL tip-bot for Arnaldo Carvalho de Melo <tipbot@zytor.com> - 2016-06-26 13:00 +0200

#1431408 — [tip:perf/core] perf machine: Destructors should accept NULL

Fromtip-bot for Arnaldo Carvalho de Melo <tipbot@zytor.com>
Date2016-06-26 13:00 +0200
Subject[tip:perf/core] perf machine: Destructors should accept NULL
Message-ID<rOfXd-1Sr-127@gated-at.bofh.it>
Commit-ID:  32ca678dcd250f05183cf0c8a9e516545c6068bc
Gitweb:     http://git.kernel.org/tip/32ca678dcd250f05183cf0c8a9e516545c6068bc
Author:     Arnaldo Carvalho de Melo <acme@redhat.com>
AuthorDate: Wed, 22 Jun 2016 10:19:11 -0300
Committer:  Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Wed, 22 Jun 2016 10:19:11 -0300

perf machine: Destructors should accept NULL

And do nothing, just like free(), to avoid having to test it in callers,
usually in error paths.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/n/tip-q42gj3b3znhho9z1mrbo4jce@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/util/machine.c     | 6 ++++--
 tools/perf/util/probe-event.c | 6 ++----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
index a0c186a..bc2cdbd 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 084756c..caad19d 100644
--- a/tools/perf/util/probe-event.c
+++ b/tools/perf/util/probe-event.c
@@ -102,10 +102,8 @@ out:
 
 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();
 }
 

[toc] | [standalone]


Back to top | Article view | linux.kernel


csiph-web