diff options
author | James Golovich <james@gnuinter.net> | 2004-03-11 06:16:15 +0000 |
---|---|---|
committer | James Golovich <james@gnuinter.net> | 2004-03-11 06:16:15 +0000 |
commit | 6406e07a795c151518937adf54e4b6721bba82dd (patch) | |
tree | ba98db1db206c883007a75cf30d5aba761574b72 /apps/app_parkandannounce.c | |
parent | 6741234ec9b276c4fd086d582a3938098006340e (diff) |
Make ParkAndAnnounce check some things (bug 1194)
This code really needs to get cleaned up
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2395 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'apps/app_parkandannounce.c')
-rwxr-xr-x | apps/app_parkandannounce.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/apps/app_parkandannounce.c b/apps/app_parkandannounce.c index 072d55189..2b6404bef 100755 --- a/apps/app_parkandannounce.c +++ b/apps/app_parkandannounce.c @@ -68,13 +68,17 @@ static int parkandannounce_exec(struct ast_channel *chan, void *data) int outstate; struct localuser *u; - if (!data) { - ast_log(LOG_WARNING, "Park requires an argument (parkinglot)\n"); + if (!data || (data && !strlen(data))) { + ast_log(LOG_WARNING, "ParkAndAnnounce requires arguments: (announce:template|timeout|dial|[return_context])\n"); return -1; } l=strlen(data)+2; orig_s=malloc(l); + if (!orig_s) { + ast_log(LOG_WARNING, "Out of memory\n"); + return -1; + } s=orig_s; strncpy(s,data,l); @@ -85,9 +89,10 @@ static int parkandannounce_exec(struct ast_channel *chan, void *data) return -1; } - timeout = atoi(strsep(&s, "|")); - timeout *= 1000; - + if (s) { + timeout = atoi(strsep(&s, "|")); + timeout *= 1000; + } dial=strsep(&s, "|"); if (! dial) { ast_log(LOG_WARNING, "PARK: A dial resouce must be specified i.e: Console/dsp or Zap/g1/5551212\n"); |