diff --git a/apps/app_chanisavail.c b/apps/app_chanisavail.c index 44a2a23b3ece75d70710da12b0454b0d914c90f2..18e61b4198efa315aa86b105d5cf90fa7f713450 100755 --- a/apps/app_chanisavail.c +++ b/apps/app_chanisavail.c @@ -38,9 +38,9 @@ static char *synopsis = "Check if channel is available"; static char *descrip = " ChanIsAvail(Technology/resource[&Technology2/resource2...]): \n" "Checks is any of the requested channels are available. If none\n" -"of the requested channels are available the new priority will\n" -"be n+101 (unless such a priority does not exist, in which case\n" -"ChanIsAvail will return -1. If any of the requested channels\n" +"of the requested channels are available the new priority will be\n" +"n+101 (unless such a priority does not exist or on error, in which\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" "${AVAILCHAN} will be set to the name of the available channel and\n" "the ChanIsAvail app will return 0.\n"; @@ -53,7 +53,7 @@ static int chanavail_exec(struct ast_channel *chan, void *data) { int res=-1; struct localuser *u; - char info[256], *peers, *tech, *number, *rest, *cur; + char info[512], *peers, *tech, *number, *rest, *cur; struct ast_channel *tempchan; if (!data) { @@ -62,7 +62,7 @@ static int chanavail_exec(struct ast_channel *chan, void *data) } LOCAL_USER_ADD(u); - strncpy(info, (char *)data, strlen((char *)data) + AST_MAX_EXTENSION-1); + strncpy(info, (char *)data, sizeof(info)-1); peers = info; if (peers) { cur = peers;