If no '?' is found in the arguments, don't attempt to continue.

Reported by: blitzrage
Fixed by: tilghman
Closes issue #11111


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@87724 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Tilghman Lesher 2007-10-30 22:15:28 +00:00
parent 3978cb6f1c
commit f595811265
1 changed files with 5 additions and 0 deletions

View File

@ -166,6 +166,11 @@ static int execif_exec(struct ast_channel *chan, void *data)
char *parse = ast_strdupa(data);
AST_NONSTANDARD_APP_ARGS(expr, parse, '?');
if (ast_strlen_zero(expr.remainder)) {
ast_log(LOG_ERROR, "Usage: ExecIf(<cond>?<appiftrue>(<args>):<appiffalse>(<args))\n");
return -1;
}
AST_NONSTANDARD_APP_ARGS(apps, expr.remainder, ':');
if (apps.t && (truedata = strchr(apps.t, '('))) {