Skip to content
Snippets Groups Projects
Commit b2309184 authored by Tilghman Lesher's avatar Tilghman Lesher
Browse files

Merged revisions 61681 via svnmerge from

https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r61681 | tilghman | 2007-04-18 21:45:05 -0500 (Wed, 18 Apr 2007) | 13 lines

Merged revisions 61680 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r61680 | tilghman | 2007-04-18 21:30:18 -0500 (Wed, 18 Apr 2007) | 5 lines

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: https://origsvn.digium.com/svn/asterisk/trunk@61682 65c4cc65-6c06-0410-ace0-fbb531ad65f3
parent 261b3c4e
No related branches found
No related tags found
No related merge requests found
......@@ -60,7 +60,9 @@ static int callerid_read(struct ast_channel *chan, const char *cmd, char *data,
{
char *opt = data;
/* XXX we are not always clearing the buffer. Is this correct ? */
if (!chan)
return -1;
if (strchr(opt, '|')) {
char name[80], num[80];
......@@ -116,7 +118,7 @@ static int callerid_read(struct ast_channel *chan, const char *cmd, char *data,
static int callerid_write(struct ast_channel *chan, const char *cmd, char *data,
const char *value)
{
if (!value)
if (!value || !chan)
return -1;
if (!strncasecmp("all", data, 3)) {
......
......@@ -59,7 +59,7 @@ static int cdr_read(struct ast_channel *chan, const char *cmd, char *parse,
{
char *ret;
struct ast_flags flags = { 0 };
struct ast_cdr *cdr = chan->cdr;
struct ast_cdr *cdr = chan ? chan->cdr : NULL;
AST_DECLARE_APP_ARGS(args,
AST_APP_ARG(variable);
AST_APP_ARG(options);
......@@ -96,7 +96,7 @@ static int cdr_write(struct ast_channel *chan, const char *cmd, char *parse,
AST_APP_ARG(options);
);
if (ast_strlen_zero(parse) || !value)
if (ast_strlen_zero(parse) || !value || !chan)
return -1;
AST_STANDARD_APP_ARGS(args, parse);
......
......@@ -158,6 +158,9 @@ static int group_list_function_read(struct ast_channel *chan, const char *cmd,
char tmp1[1024] = "";
char tmp2[1024] = "";
if (!chan)
return -1;
headp = &chan->varshead;
AST_LIST_TRAVERSE(headp, current, entries) {
if (!strncmp(ast_var_name(current), GROUP_CATEGORY_PREFIX "_", strlen(GROUP_CATEGORY_PREFIX) + 1)) {
......
......@@ -46,6 +46,9 @@ static int timeout_read(struct ast_channel *chan, const char *cmd, char *data,
{
time_t myt;
if (!chan)
return -1;
if (!data) {
ast_log(LOG_ERROR, "Must specify type of timeout to get.\n");
return -1;
......@@ -91,6 +94,9 @@ static int timeout_write(struct ast_channel *chan, const char *cmd, char *data,
char timestr[64];
struct tm myt;
if (!chan)
return -1;
if (!data) {
ast_log(LOG_ERROR, "Must specify type of timeout to set.\n");
return -1;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment