]> granicus.if.org Git - php/commitdiff
MFB: Fixed bug #47435 (FILTER_FLAG_NO_PRIV_RANGE does not work with ipv6
authorIlia Alshanetsky <iliaa@php.net>
Mon, 23 Feb 2009 16:52:45 +0000 (16:52 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Mon, 23 Feb 2009 16:52:45 +0000 (16:52 +0000)
addresses in the filter extension)

ext/filter/logical_filters.c

index 497e10d7d0611ead712e4f088c50162b082e3ab3..9246d4f9b1fb301b3a563ecea426e631b5b2aae7 100644 (file)
@@ -659,6 +659,12 @@ void php_filter_validate_ip(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */
                                if (res < 1) {
                                        RETURN_VALIDATION_FAILED
                                }
+                               /* Check flags */
+                               if (flags & FILTER_FLAG_NO_PRIV_RANGE) {
+                                       if (Z_STRLEN_P(value) >=2 && (!strncasecmp("FC", Z_STRVAL_P(value), 2) || !strncasecmp("FD", Z_STRVAL_P(value), 2))) {
+                                               RETURN_VALIDATION_FAILED
+                                       }
+                               }
                        }
                        break;
        }