]> granicus.if.org Git - php/commitdiff
Merge branch 'pull-request/499'
authorRasmus Lerdorf <rasmus@lerdorf.com>
Sat, 19 Oct 2013 07:01:13 +0000 (00:01 -0700)
committerRasmus Lerdorf <rasmus@lerdorf.com>
Sat, 19 Oct 2013 07:42:53 +0000 (00:42 -0700)
Fix RFC 6598 IPv4 Reserved Range Checks

ext/filter/logical_filters.c
ext/filter/tests/018.phpt

index 14964883c1b26cdcd726680701787b729d090669..03b00bd9f6d3b76d4cde0ff8fe1e38d0faa77512 100644 (file)
@@ -714,7 +714,7 @@ void php_filter_validate_ip(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */
                        if (flags & FILTER_FLAG_NO_RES_RANGE) {
                                if (
                                        (ip[0] == 0) ||
-                                       (ip[0] == 100 && (ip[1] >= 64 || ip[1] <= 127)) ||
+                                       (ip[0] == 100 && (ip[1] >= 64 && ip[1] <= 127)) ||
                                        (ip[0] == 128 && ip[1] == 0) ||
                                        (ip[0] == 191 && ip[1] == 255) ||
                                        (ip[0] == 169 && ip[1] == 254) ||
index 9c73fc3cfc4e61a40914d825b8788246480561dc..75bbd134279948e37a13e2b66ea4d39e3ea85b5a 100644 (file)
@@ -15,7 +15,7 @@ var_dump(filter_var("192.168.0.1", FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE
 var_dump(filter_var("192.0.34.166", FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE));
 var_dump(filter_var("127.0.0.1", FILTER_VALIDATE_IP, FILTER_FLAG_NO_RES_RANGE));
 var_dump(filter_var("192.0.0.1", FILTER_VALIDATE_IP, FILTER_FLAG_NO_RES_RANGE));
-var_dump(filter_var("100.0.0.0", FILTER_VALIDATE_IP, FILTER_FLAG_NO_RES_RANGE));
+var_dump(filter_var("100.64.0.0", FILTER_VALIDATE_IP, FILTER_FLAG_NO_RES_RANGE));
 var_dump(filter_var("100.127.255.255", FILTER_VALIDATE_IP, FILTER_FLAG_NO_RES_RANGE));
 var_dump(filter_var("192.0.34.166", FILTER_VALIDATE_IP));
 var_dump(filter_var("256.1237.123.1", FILTER_VALIDATE_IP));