From df3f06b4e8d42538e2502caf42ce1a8e1347b3ba Mon Sep 17 00:00:00 2001 From: Jeff Trawick Date: Thu, 11 Oct 2012 17:11:31 +0000 Subject: [PATCH] "Iterate" directives: Report an error if no arguments are provided. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1397172 13f79535-47bb-0310-9956-ffa450edef68 --- CHANGES | 3 +++ server/config.c | 10 +++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index 86bb45cf07..1bb89e74a2 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,9 @@ -*- coding: utf-8 -*- Changes with Apache 2.5.0 + *) "Iterate" directives: Report an error if no arguments are provided. + [Jeff Trawick] + *) htpasswd, htdbm: Optionally read passwords from stdin, as more secure alternative to -b. PR 40243. [Adomas Paltanavicius , Stefan Fritsch] diff --git a/server/config.c b/server/config.c index a9adddd75f..ffc6694870 100644 --- a/server/config.c +++ b/server/config.c @@ -980,12 +980,20 @@ static const char *invoke_cmd(const command_rec *cmd, cmd_parms *parms, return cmd->AP_TAKE3(parms, mconfig, w, w2, w3); case ITERATE: - while (*(w = ap_getword_conf(parms->pool, &args)) != '\0') { + w = ap_getword_conf(parms->pool, &args); + + if (*w == '\0') + return apr_pstrcat(parms->pool, cmd->name, + " requires at least one argument", + cmd->errmsg ? ", " : NULL, cmd->errmsg, NULL); + while (*w != '\0') { errmsg = cmd->AP_TAKE1(parms, mconfig, w); if (errmsg && strcmp(errmsg, DECLINE_CMD) != 0) return errmsg; + + w = ap_getword_conf(parms->pool, &args); } return errmsg; -- 2.40.0