diff options
author | tilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-04-19 02:30:18 +0000 |
---|---|---|
committer | tilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-04-19 02:30:18 +0000 |
commit | 1ce325d67c86bf63786232d01a272436f0a38cd2 (patch) | |
tree | b5d65fded5a96a7ee2dddaae0f9153ad01fa2d24 /funcs/func_cdr.c | |
parent | 5ae8e3ac4214197fec6ef999a6c50123be671979 (diff) |
Bug 9557 - Specifying the GetVar AMI action without a Channel parameter can
cause Asterisk to crash. The reason this needs to be fixed in the functions
instead of in AMI is because Channel can legitimately be NULL, such as when
retrieving global variables.
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@61680 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'funcs/func_cdr.c')
-rw-r--r-- | funcs/func_cdr.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/funcs/func_cdr.c b/funcs/func_cdr.c index fdd241894..5ff3ffcf9 100644 --- a/funcs/func_cdr.c +++ b/funcs/func_cdr.c @@ -44,7 +44,7 @@ static char *builtin_function_cdr_read(struct ast_channel *chan, char *cmd, char int argc; char *argv[2]; int recursive = 0; - struct ast_cdr *cdr = chan->cdr; + struct ast_cdr *cdr = chan ? chan->cdr : NULL; if (ast_strlen_zero(data)) return NULL; @@ -78,9 +78,9 @@ static void builtin_function_cdr_write(struct ast_channel *chan, char *cmd, char char *argv[2]; int recursive = 0; - if (ast_strlen_zero(data) || !value) + if (ast_strlen_zero(data) || !value || !chan) return; - + mydata = ast_strdupa(data); argc = ast_app_separate_args(mydata, '|', argv, sizeof(argv) / sizeof(argv[0])); |