diff options
author | jpeeler <jpeeler@f38db490-d61c-443f-a65b-d21fe96a405b> | 2010-01-19 23:01:02 +0000 |
---|---|---|
committer | jpeeler <jpeeler@f38db490-d61c-443f-a65b-d21fe96a405b> | 2010-01-19 23:01:02 +0000 |
commit | 71f0adfab3ef11989246d4ab56418a888594040d (patch) | |
tree | a1f3b14716007b45d64c8467c8a416b267f0de92 /main/pbx.c | |
parent | ecd9868ec2830d7ea35447282f973d91b69f70b1 (diff) |
Merged revisions 241366 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
........
r241366 | jpeeler | 2010-01-19 16:59:53 -0600 (Tue, 19 Jan 2010) | 13 lines
Initialize data on the stack so that Park doesn't interpret random arguments.
passdata was only being set in pbx_substitue_variables when arguments were
passed.
(closes issue #16406)
(closes issue #16586)
Reported by: DLNoah
Patches:
bug16586v2.patch uploaded by jpeeler (license 325)
Tested by: DLNoah
........
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@241367 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main/pbx.c')
-rw-r--r-- | main/pbx.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/main/pbx.c b/main/pbx.c index 10018a282..0bcac1a0a 100644 --- a/main/pbx.c +++ b/main/pbx.c @@ -3042,8 +3042,10 @@ static void pbx_substitute_variables(char *passdata, int datalen, struct ast_cha const char *tmp; /* Nothing more to do */ - if (!e->data) + if (!e->data) { + *passdata = '\0'; return; + } /* No variables or expressions in e->data, so why scan it? */ if ((!(tmp = strchr(e->data, '$'))) || (!strstr(tmp, "${") && !strstr(tmp, "$["))) { |