aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xChangeLog3
-rwxr-xr-xpbx/pbx_ael.c3
2 files changed, 4 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 1608136f3..cf5b7646e 100755
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2005-11-10 Kevin P. Fleming <kpfleming@digium.com>
+ * pbx/pbx_ael.c (handle_macro): don't leak memory (issue #5701)
+ (handle_context): ditto
+
* res/res_features.c (load_config): properly initialize referenced variable (issue #5703)
* apps/app_queue.c (rqm_exec): correct segfault problem (issue #5705)
diff --git a/pbx/pbx_ael.c b/pbx/pbx_ael.c
index 9350ff49b..287738418 100755
--- a/pbx/pbx_ael.c
+++ b/pbx/pbx_ael.c
@@ -966,6 +966,7 @@ static void handle_macro(struct ast_context **local_contexts, struct stringlink
}
} else
ast_log(LOG_WARNING, "Unable to create context '%s'\n", name);
+ arg_free(paramv);
arg_free(argv);
if (vars->next)
ast_log(LOG_NOTICE, "Ignoring excess tokens in macro definition around line %d of %s!\n", lineno, filename);
@@ -1013,7 +1014,6 @@ static void parse_keyword(char *s, char **o)
static void handle_context(struct ast_context **local_contexts, struct stringlink *vars, const char *filename, int lineno)
{
struct stringlink *argv;
- struct stringlink *paramv;
struct stringlink *cur2;
struct stringlink *argv2;
struct stringlink *cur;
@@ -1026,7 +1026,6 @@ static void handle_context(struct ast_context **local_contexts, struct stringlin
if (aeldebug & DEBUG_CONTEXTS)
ast_verbose("Root context def is '%s'\n", vars->data);
argv = split_token(vars->data, filename, lineno);
- paramv = split_params(vars->data, filename, lineno);
if (aeldebug & DEBUG_CONTEXTS)
ast_verbose("Found context '%s'\n", vars->data);
snprintf(name, sizeof(name), "%s", vars->data);