]> granicus.if.org Git - apache/commitdiff
* Fix potential segfault if flags remains NULL.
authorRuediger Pluem <rpluem@apache.org>
Wed, 10 Sep 2008 08:04:42 +0000 (08:04 +0000)
committerRuediger Pluem <rpluem@apache.org>
Wed, 10 Sep 2008 08:04:42 +0000 (08:04 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@693728 13f79535-47bb-0310-9956-ffa450edef68

modules/filters/mod_substitute.c

index 84415c759a0d1b06c5cc283804c9ea0246eef67b..a50248f323de4f0b1676549872e67eb3128c971a 100644 (file)
@@ -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 */