From 8fd9401e3d4e92512245b6beed73d1176431ef3b Mon Sep 17 00:00:00 2001 From: Jeff Peeler Date: Tue, 19 Jan 2010 22:59:53 +0000 Subject: [PATCH] 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/trunk@241366 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/pbx.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/main/pbx.c b/main/pbx.c index d0ca80d465..6f67abaea6 100644 --- a/main/pbx.c +++ b/main/pbx.c @@ -3970,8 +3970,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, "$["))) {