提交 9d348910 authored 作者: Anthony Minessale's avatar Anthony Minessale

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
上级 cfe0df58
...@@ -1494,7 +1494,7 @@ typedef struct switch_console_callback_match_node switch_console_callback_match_ ...@@ -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 {
struct switch_console_callback_match_node *head; struct switch_console_callback_match_node *head;
struct switch_console_callback_match_node *end; 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; typedef struct switch_console_callback_match switch_console_callback_match_t;
......
...@@ -1125,6 +1125,10 @@ SWITCH_DECLARE(void) switch_console_free_matches(switch_console_callback_match_t ...@@ -1125,6 +1125,10 @@ SWITCH_DECLARE(void) switch_console_free_matches(switch_console_callback_match_t
free(cur->val); free(cur->val);
free(cur); 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) 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 * ...@@ -1133,6 +1137,7 @@ SWITCH_DECLARE(void) switch_console_push_match(switch_console_callback_match_t *
if (!*matches) { if (!*matches) {
switch_zmalloc(*matches, sizeof(**matches)); switch_zmalloc(*matches, sizeof(**matches));
(*matches)->dynamic = 1;
} }
switch_zmalloc(match, sizeof(*match)); switch_zmalloc(match, sizeof(*match));
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论