diff options
author | Steven Rostedt <srostedt@redhat.com> | 2010-05-24 21:32:56 -0400 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2010-05-24 21:35:36 -0400 |
commit | e17252c0f125dcc14873412151950f9259021e13 (patch) | |
tree | 69ef8256dcbe83180ca1cb8347a0cfdb77092e2b | |
parent | 4eb962abae4753b1ab43590ebd355753677cdd86 (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.c | 7 |
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); |