summaryrefslogtreecommitdiff
path: root/apps/app_parkandannounce.c
diff options
context:
space:
mode:
authorJames Golovich <james@gnuinter.net>2004-03-11 06:16:15 +0000
committerJames Golovich <james@gnuinter.net>2004-03-11 06:16:15 +0000
commit6406e07a795c151518937adf54e4b6721bba82dd (patch)
treeba98db1db206c883007a75cf30d5aba761574b72 /apps/app_parkandannounce.c
parent6741234ec9b276c4fd086d582a3938098006340e (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-xapps/app_parkandannounce.c15
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");