OSDN Git Service

parse-events: Let pevent_free() take a NULL pointer
authorSteven Rostedt <srostedt@redhat.com>
Thu, 5 Apr 2012 22:48:02 +0000 (00:48 +0200)
committerFrederic Weisbecker <fweisbec@gmail.com>
Wed, 25 Apr 2012 11:35:35 +0000 (13:35 +0200)
The pevent_free() should ack like other free()s and allow a
NULL pointer to be passed to it which makes error handling a bit
easier for the users of pevent_free().

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Arnaldo Carvalho de Melo <acme@infradead.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Arun Sharma <asharma@fb.com>
Cc: Namhyung Kim <namhyung.kim@lge.com>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
tools/lib/traceevent/event-parse.c

index cdb32c7..4d5092f 100644 (file)
@@ -4960,13 +4960,20 @@ static void free_event(struct event_format *event)
  */
 void pevent_free(struct pevent *pevent)
 {
-       struct cmdline_list *cmdlist = pevent->cmdlist, *cmdnext;
-       struct func_list *funclist = pevent->funclist, *funcnext;
-       struct printk_list *printklist = pevent->printklist, *printknext;
+       struct cmdline_list *cmdlist, *cmdnext;
+       struct func_list *funclist, *funcnext;
+       struct printk_list *printklist, *printknext;
        struct pevent_function_handler *func_handler;
        struct event_handler *handle;
        int i;
 
+       if (!pevent)
+               return;
+
+       cmdlist = pevent->cmdlist;
+       funclist = pevent->funclist;
+       printklist = pevent->printklist;
+
        pevent->ref_count--;
        if (pevent->ref_count)
                return;