aboutsummaryrefslogtreecommitdiffstats
path: root/pbx/pbx_config.c
diff options
context:
space:
mode:
Diffstat (limited to 'pbx/pbx_config.c')
-rwxr-xr-xpbx/pbx_config.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/pbx/pbx_config.c b/pbx/pbx_config.c
index fb1fe6fb2..1514503c3 100755
--- a/pbx/pbx_config.c
+++ b/pbx/pbx_config.c
@@ -1538,7 +1538,7 @@ static int pbx_load_module(void)
char *cxt, *ext, *pri, *appl, *data, *tc, *cidmatch;
struct ast_context *con;
char *start, *end;
- char realvalue[256] = "";
+ char realvalue[256];
cfg = ast_load(config);
if (cfg) {
@@ -1549,6 +1549,7 @@ static int pbx_load_module(void)
"writeprotect"));
v = ast_variable_browse(cfg, "globals");
while(v) {
+ memset(realvalue, 0, sizeof(realvalue));
pbx_substitute_variables_helper(NULL, v->value, realvalue, sizeof(realvalue) - 1);
pbx_builtin_setvar_helper(NULL, v->name, realvalue);
v = v->next;
@@ -1622,15 +1623,18 @@ static int pbx_load_module(void)
free(tc);
} else fprintf(stderr,"Error strdup returned NULL in %s\n",__PRETTY_FUNCTION__);
} else if(!strcasecmp(v->name, "include")) {
+ memset(realvalue, 0, sizeof(realvalue));
pbx_substitute_variables_helper(NULL, v->value, realvalue, sizeof(realvalue) - 1);
if (ast_context_add_include2(con, realvalue, registrar))
ast_log(LOG_WARNING, "Unable to include context '%s' in context '%s'\n", v->value, cxt);
} else if(!strcasecmp(v->name, "ignorepat")) {
+ memset(realvalue, 0, sizeof(realvalue));
pbx_substitute_variables_helper(NULL, v->value, realvalue, sizeof(realvalue) - 1);
if (ast_context_add_ignorepat2(con, realvalue, registrar))
ast_log(LOG_WARNING, "Unable to include ignorepat '%s' in context '%s'\n", v->value, cxt);
} else if (!strcasecmp(v->name, "switch")) {
char *stringp=NULL;
+ memset(realvalue, 0, sizeof(realvalue));
pbx_substitute_variables_helper(NULL, v->value, realvalue, sizeof(realvalue) - 1);
tc = realvalue;
stringp=tc;