From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759238Ab2DYM2d (ORCPT ); Wed, 25 Apr 2012 08:28:33 -0400 Received: from mail-ey0-f174.google.com ([209.85.215.174]:41891 "EHLO mail-ey0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751313Ab2DYM23 (ORCPT ); Wed, 25 Apr 2012 08:28:29 -0400 From: Frederic Weisbecker To: Ingo Molnar Cc: LKML , Steven Rostedt , Steven Rostedt , Thomas Gleixner , Peter Zijlstra , Arnaldo Carvalho de Melo , Borislav Petkov , Jiri Olsa , Arun Sharma , Namhyung Kim , David Ahern , Frederic Weisbecker Subject: [PATCH 11/15] parse-events: Let pevent_free() take a NULL pointer Date: Wed, 25 Apr 2012 14:26:55 +0200 Message-Id: <1335356819-16710-12-git-send-email-fweisbec@gmail.com> X-Mailer: git-send-email 1.7.5.4 In-Reply-To: <1335356819-16710-1-git-send-email-fweisbec@gmail.com> References: <1335356819-16710-1-git-send-email-fweisbec@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Steven Rostedt 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 Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Borislav Petkov Cc: Jiri Olsa Cc: Arun Sharma Cc: Namhyung Kim Cc: David Ahern Signed-off-by: Frederic Weisbecker --- tools/lib/traceevent/event-parse.c | 13 ++++++++++--- 1 files changed, 10 insertions(+), 3 deletions(-) diff --git a/tools/lib/traceevent/event-parse.c b/tools/lib/traceevent/event-parse.c index cdb32c7..4d5092f 100644 --- a/tools/lib/traceevent/event-parse.c +++ b/tools/lib/traceevent/event-parse.c @@ -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; -- 1.7.5.4