]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
If no '?' is found in the arguments, don't attempt to continue.
authorTilghman Lesher <tilghman@meg.abyt.es>
Tue, 30 Oct 2007 22:15:28 +0000 (22:15 +0000)
committerTilghman Lesher <tilghman@meg.abyt.es>
Tue, 30 Oct 2007 22:15:28 +0000 (22:15 +0000)
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

apps/app_exec.c

index 73d534a1b64a9b74ab1a149d246677033134e1a4..12b91a48824c31185bf0263f3dbeb619bc99ecb2 100644 (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, '('))) {