From 9d348910efe8960cf96897c2171c611f0d1f089e Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Tue, 15 Dec 2009 19:26:58 +0000 Subject: [PATCH] fix leak and make static or dynamic head obj possible git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@15972 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- src/include/switch_types.h | 2 +- src/switch_console.c | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/include/switch_types.h b/src/include/switch_types.h index 6876e3c396..2659355cdd 100644 --- a/src/include/switch_types.h +++ b/src/include/switch_types.h @@ -1494,7 +1494,7 @@ typedef struct switch_console_callback_match_node switch_console_callback_match_ struct switch_console_callback_match { struct switch_console_callback_match_node *head; struct switch_console_callback_match_node *end; - switch_memory_pool_t *pool; + int dynamic; }; typedef struct switch_console_callback_match switch_console_callback_match_t; diff --git a/src/switch_console.c b/src/switch_console.c index 4b83ee943d..3c5bfff13a 100644 --- a/src/switch_console.c +++ b/src/switch_console.c @@ -1125,6 +1125,10 @@ SWITCH_DECLARE(void) switch_console_free_matches(switch_console_callback_match_t free(cur->val); free(cur); } + + if (my_match->dynamic) { + free(my_match); + } } SWITCH_DECLARE(void) switch_console_push_match(switch_console_callback_match_t **matches, const char *new_val) @@ -1133,6 +1137,7 @@ SWITCH_DECLARE(void) switch_console_push_match(switch_console_callback_match_t * if (!*matches) { switch_zmalloc(*matches, sizeof(**matches)); + (*matches)->dynamic = 1; } switch_zmalloc(match, sizeof(*match));