issue #5701
authorKevin P. Fleming <kpfleming@digium.com>
Thu, 10 Nov 2005 23:28:55 +0000 (23:28 +0000)
committerKevin P. Fleming <kpfleming@digium.com>
Thu, 10 Nov 2005 23:28:55 +0000 (23:28 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7055 65c4cc65-6c06-0410-ace0-fbb531ad65f3

ChangeLog
pbx/pbx_ael.c

index 1608136..cf5b764 100755 (executable)
--- 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)
index 9350ff4..2877384 100755 (executable)
@@ -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);