From: Ruediger Pluem Date: Wed, 10 Sep 2008 08:04:42 +0000 (+0000) Subject: * Fix potential segfault if flags remains NULL. X-Git-Tag: 2.3.0~308 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a8b7e9506937bc1dff78f6cdac9c7462bd11a866;p=apache * Fix potential segfault if flags remains NULL. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@693728 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/filters/mod_substitute.c b/modules/filters/mod_substitute.c index 84415c759a..a50248f323 100644 --- a/modules/filters/mod_substitute.c +++ b/modules/filters/mod_substitute.c @@ -529,19 +529,21 @@ static const char *set_pattern(cmd_parms *cmd, void *cfg, const char *line) return "Bad Substitute format, must be a complete s/// pattern"; } - while (*flags) { - delim = apr_tolower(*flags); /* re-use */ - if (delim == 'i') - ignore_case = 1; - else if (delim == 'n') - is_pattern = 1; - else if (delim == 'f') - flatten = 1; - else if (delim == 'q') - flatten = 0; - else - return "Bad Substitute flag, only s///[infq] are supported"; - flags++; + if (flags) { + while (*flags) { + delim = apr_tolower(*flags); /* re-use */ + if (delim == 'i') + ignore_case = 1; + else if (delim == 'n') + is_pattern = 1; + else if (delim == 'f') + flatten = 1; + else if (delim == 'q') + flatten = 0; + else + return "Bad Substitute flag, only s///[infq] are supported"; + flags++; + } } /* first see if we can compile the regex */