aboutsummaryrefslogtreecommitdiffstats
path: root/funcs/func_cdr.c
diff options
context:
space:
mode:
authortilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2007-04-19 02:30:18 +0000
committertilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2007-04-19 02:30:18 +0000
commit1ce325d67c86bf63786232d01a272436f0a38cd2 (patch)
treeb5d65fded5a96a7ee2dddaae0f9153ad01fa2d24 /funcs/func_cdr.c
parent5ae8e3ac4214197fec6ef999a6c50123be671979 (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.c6
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]));