aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Rostedt <srostedt@redhat.com>2010-05-24 21:32:56 -0400
committerSteven Rostedt <rostedt@goodmis.org>2010-05-24 21:35:36 -0400
commite17252c0f125dcc14873412151950f9259021e13 (patch)
tree69ef8256dcbe83180ca1cb8347a0cfdb77092e2b
parent4eb962abae4753b1ab43590ebd355753677cdd86 (diff)
parse-events: Free function handlers
The function handlers were not freed when freeing a pevent. Thanks to valgrind for catching this. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
-rw-r--r--parse-events.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/parse-events.c b/parse-events.c
index cac5ed3..0f7b1f1 100644
--- a/parse-events.c
+++ b/parse-events.c
@@ -4565,6 +4565,7 @@ void pevent_free(struct pevent *pevent)
4565 struct cmdline_list *cmdlist = pevent->cmdlist, *cmdnext; 4565 struct cmdline_list *cmdlist = pevent->cmdlist, *cmdnext;
4566 struct func_list *funclist = pevent->funclist, *funcnext; 4566 struct func_list *funclist = pevent->funclist, *funcnext;
4567 struct printk_list *printklist = pevent->printklist, *printknext; 4567 struct printk_list *printklist = pevent->printklist, *printknext;
4568 struct pevent_function_handler *func_handler;
4568 struct event_handler *handle; 4569 struct event_handler *handle;
4569 int i; 4570 int i;
4570 4571
@@ -4601,6 +4602,12 @@ void pevent_free(struct pevent *pevent)
4601 funclist = funcnext; 4602 funclist = funcnext;
4602 } 4603 }
4603 4604
4605 while (pevent->func_handlers) {
4606 func_handler = pevent->func_handlers;
4607 pevent->func_handlers = func_handler->next;
4608 free_func_handle(func_handler);
4609 }
4610
4604 if (pevent->printk_map) { 4611 if (pevent->printk_map) {
4605 for (i = 0; i < pevent->printk_count; i++) 4612 for (i = 0; i < pevent->printk_count; i++)
4606 free(pevent->printk_map[i].printk); 4613 free(pevent->printk_map[i].printk);