Based on a note in asterisk-dev by Brian Capouch, I determined I too agressive in not initializing arrays passed to pbx_substitute_variables_xxxx; I reviewed the code (again) and hopefully found every possible spot where substitute_variables is called conditionally, and made sure the char array involved was set to a null string.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89186 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Steve Murphy
2007-11-12 18:44:36 +00:00
parent 061e5a1674
commit 98429d37b2
8 changed files with 11 additions and 2 deletions

View File

@@ -99,6 +99,7 @@ static int exec_exec(struct ast_channel *chan, void *data)
return 0;
s = ast_strdupa(data);
args[0] = 0;
appname = strsep(&s, "(");
if (s) {
endargs = strrchr(s, ')');
@@ -129,6 +130,7 @@ static int tryexec_exec(struct ast_channel *chan, void *data)
return 0;
s = ast_strdupa(data);
args[0] = 0;
appname = strsep(&s, "(");
if (s) {
endargs = strrchr(s, ')');

View File

@@ -225,6 +225,7 @@ static void launch_monitor_thread(struct ast_channel *chan, const char *filename
len = sizeof(*mixmonitor) + strlen(chan->name) + strlen(filename) + 2;
postprocess2[0] = 0;
/* If a post process system command is given attach it to the structure */
if (!ast_strlen_zero(post_process)) {
char *p1, *p2;

View File

@@ -2703,6 +2703,8 @@ static int try_calling(struct queue_ent *qe, const char *options, char *announce
struct ao2_iterator memi;
memset(&bridge_config, 0, sizeof(bridge_config));
tmpid[0] = 0;
meid[0] = 0;
time(&now);
for (; options && *options; options++)