aboutsummaryrefslogtreecommitdiffstats
path: root/app.c
diff options
context:
space:
mode:
Diffstat (limited to 'app.c')
-rw-r--r--app.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/app.c b/app.c
index bf7bd345b..fedc95d57 100644
--- a/app.c
+++ b/app.c
@@ -1358,11 +1358,12 @@ static int ivr_dispatch(struct ast_channel *chan, struct ast_ivr_option *option,
case AST_ACTION_BACKLIST:
res = 0;
c = ast_strdupa(option->adata);
- while ((n = strsep(&c, ";"))) {
- if ((res = ast_streamfile(chan, n, chan->language)) || (res = ast_waitstream(chan, (option->action == AST_ACTION_BACKLIST) ? AST_DIGIT_ANY : "")))
- break;
+ if (c) {
+ while((n = strsep(&c, ";")))
+ if ((res = ast_streamfile(chan, n, chan->language)) || (res = ast_waitstream(chan, (option->action == AST_ACTION_BACKLIST) ? AST_DIGIT_ANY : "")))
+ break;
+ ast_stopstream(chan);
}
- ast_stopstream(chan);
return res;
default:
ast_log(LOG_NOTICE, "Unknown dispatch function %d, ignoring!\n", option->action);