Skip to content
Snippets Groups Projects
Commit 40ec1996 authored by James Golovich's avatar James Golovich
Browse files

Fix app_chanisavail.c when passed string is big (bug #1139)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2295 65c4cc65-6c06-0410-ace0-fbb531ad65f3
parent 4cd13f4e
No related branches found
No related tags found
No related merge requests found
...@@ -38,9 +38,9 @@ static char *synopsis = "Check if channel is available"; ...@@ -38,9 +38,9 @@ static char *synopsis = "Check if channel is available";
static char *descrip = static char *descrip =
" ChanIsAvail(Technology/resource[&Technology2/resource2...]): \n" " ChanIsAvail(Technology/resource[&Technology2/resource2...]): \n"
"Checks is any of the requested channels are available. If none\n" "Checks is any of the requested channels are available. If none\n"
"of the requested channels are available the new priority will\n" "of the requested channels are available the new priority will be\n"
"be n+101 (unless such a priority does not exist, in which case\n" "n+101 (unless such a priority does not exist or on error, in which\n"
"ChanIsAvail will return -1. If any of the requested channels\n" "case ChanIsAvail will return -1). If any of the requested channels\n"
"are available, the next priority will be n+1, the channel variable\n" "are available, the next priority will be n+1, the channel variable\n"
"${AVAILCHAN} will be set to the name of the available channel and\n" "${AVAILCHAN} will be set to the name of the available channel and\n"
"the ChanIsAvail app will return 0.\n"; "the ChanIsAvail app will return 0.\n";
...@@ -53,7 +53,7 @@ static int chanavail_exec(struct ast_channel *chan, void *data) ...@@ -53,7 +53,7 @@ static int chanavail_exec(struct ast_channel *chan, void *data)
{ {
int res=-1; int res=-1;
struct localuser *u; struct localuser *u;
char info[256], *peers, *tech, *number, *rest, *cur; char info[512], *peers, *tech, *number, *rest, *cur;
struct ast_channel *tempchan; struct ast_channel *tempchan;
if (!data) { if (!data) {
...@@ -62,7 +62,7 @@ static int chanavail_exec(struct ast_channel *chan, void *data) ...@@ -62,7 +62,7 @@ static int chanavail_exec(struct ast_channel *chan, void *data)
} }
LOCAL_USER_ADD(u); LOCAL_USER_ADD(u);
strncpy(info, (char *)data, strlen((char *)data) + AST_MAX_EXTENSION-1); strncpy(info, (char *)data, sizeof(info)-1);
peers = info; peers = info;
if (peers) { if (peers) {
cur = peers; cur = peers;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment