From: Jeff Peeler Date: Tue, 19 Jan 2010 23:01:44 +0000 (+0000) Subject: Merged revisions 241366 via svnmerge from X-Git-Tag: 1.6.1.15-rc1~38 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9c03338402af4c7831155116d00fa949b4e0c236;p=thirdparty%2Fasterisk.git 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: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@241368 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/main/pbx.c b/main/pbx.c index 9dbe457e93..a8b33a2ee9 100644 --- a/main/pbx.c +++ b/main/pbx.c @@ -3123,8 +3123,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, "$["))) {