aboutsummaryrefslogtreecommitdiffstats
path: root/main/pbx.c
diff options
context:
space:
mode:
authorjpeeler <jpeeler@f38db490-d61c-443f-a65b-d21fe96a405b>2010-01-19 23:02:21 +0000
committerjpeeler <jpeeler@f38db490-d61c-443f-a65b-d21fe96a405b>2010-01-19 23:02:21 +0000
commitf30b10264f89f010aeb8b0c6085de3be2320cebd (patch)
tree00601ec95f428d8101c213374a9936f1c0d2ba0e /main/pbx.c
parent25e649d3b4871d69ad399879bd2289ecf47ee7d7 (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.2@241369 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main/pbx.c')
-rw-r--r--main/pbx.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/main/pbx.c b/main/pbx.c
index 682bd81d3..72be23272 100644
--- a/main/pbx.c
+++ b/main/pbx.c
@@ -3612,8 +3612,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, "$["))) {