diff options
author | tilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-08-09 07:13:35 +0000 |
---|---|---|
committer | tilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-08-09 07:13:35 +0000 |
commit | 5167cc62f48b47c13a88e7ef65031c640d45ba14 (patch) | |
tree | 172d22b4c2a0e428cd0bf877b2595e0cfa6a3917 /apps/app_stack.c | |
parent | 4bedaed2501743032586f8389594ade4c6ff7ecf (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.2@211235 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps/app_stack.c')
-rw-r--r-- | apps/app_stack.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/apps/app_stack.c b/apps/app_stack.c index c9cf41de4..0ce4ccb73 100644 --- a/apps/app_stack.c +++ b/apps/app_stack.c @@ -459,7 +459,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; |