aboutsummaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authortilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2009-08-09 07:12:08 +0000
committertilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2009-08-09 07:12:08 +0000
commit9fe44b3c330fed9770a43672d9b8b69f233f6c04 (patch)
treeb8b393c43600da133aec667db21acf83f735e872 /apps
parent88de778e4c6381b9e88f5e377eb8ba17d8fe34bc (diff)
Merged revisions 211232 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk ........ r211232 | tilghman | 2009-08-09 02:11:22 -0500 (Sun, 09 Aug 2009) | 4 lines Check for NULL frame, before dereferencing pointer. (closes issue #15617) Reported by: rain ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@211233 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps')
-rw-r--r--apps/app_stack.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/apps/app_stack.c b/apps/app_stack.c
index 2f56d925a..d0d87a294 100644
--- a/apps/app_stack.c
+++ b/apps/app_stack.c
@@ -356,7 +356,12 @@ static int local_read(struct ast_channel *chan, const char *cmd, char *data, cha
oldlist = stack_store->data;
AST_LIST_LOCK(oldlist);
- frame = AST_LIST_FIRST(oldlist);
+ if (!(frame = AST_LIST_FIRST(oldlist))) {
+ /* Not within a Gosub routine */
+ AST_LIST_UNLOCK(oldlist);
+ return -1;
+ }
+
AST_LIST_TRAVERSE(&frame->varshead, variables, entries) {
if (!strcmp(data, ast_var_name(variables))) {
const char *tmp = pbx_builtin_getvar_helper(chan, data);