diff options
author | jpeeler <jpeeler@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-06-08 01:16:25 +0000 |
---|---|---|
committer | jpeeler <jpeeler@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-06-08 01:16:25 +0000 |
commit | 592ef84d247f6aef8fd481094664b0c24ed2946d (patch) | |
tree | d26456d4a4fdf4d07a7cf1b5dd08467b69c2f854 | |
parent | f14225c2fc4ba8f99c059f2ec93820f37c6eab96 (diff) |
Fixes segfault when using ParkAndAnnounce. Also, loop made more efficient as announce template only needs to be checked until the number of colon separated arguments run out, not the entire pointer storage array. Was done in a similiar fashion in 1.4, but here we're using less variables.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@121131 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r-- | apps/app_parkandannounce.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/apps/app_parkandannounce.c b/apps/app_parkandannounce.c index d1066fd2c..45740d901 100644 --- a/apps/app_parkandannounce.c +++ b/apps/app_parkandannounce.c @@ -144,9 +144,12 @@ static int parkandannounce_exec(struct ast_channel *chan, void *data) ast_verb(4, "Announce Template:%s\n", args.template); - for (looptemp = 0, tmp[looptemp++] = strsep(&args.template, ":"); - looptemp < sizeof(tmp) / sizeof(tmp[0]); - tmp[looptemp++] = strsep(&args.template, ":")); + for (looptemp = 0; looptemp < sizeof(tmp) / sizeof(tmp[0]); looptemp++) { + if ((tmp[looptemp] = strsep(&args.template, ":")) != NULL) + continue; + else + break; + } for (i = 0; i < looptemp; i++) { ast_verb(4, "Announce:%s\n", tmp[i]); |