From: Jeff Peeler Date: Tue, 19 Jan 2010 23:01:02 +0000 (+0000) Subject: Merged revisions 241366 via svnmerge from X-Git-Tag: 1.6.0.23~35 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=75b6779b19b5ef6d9e47ba5aa55b5da0218fdb02;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.0@241367 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/main/pbx.c b/main/pbx.c index 10018a2821..0bcac1a0a8 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, "$["))) {