(get_scope): Correct test for 172.16/12 address range.
authordrepper <drepper>
Tue, 6 Mar 2007 14:52:57 +0000 (14:52 +0000)
committerdrepper <drepper>
Tue, 6 Mar 2007 14:52:57 +0000 (14:52 +0000)
sysdeps/posix/getaddrinfo.c

index b496685..da48d46 100644 (file)
@@ -1157,7 +1157,7 @@ get_scope (const struct sockaddr_storage *ss)
         169.254/16 and 127/8 are link-local.  */
       if ((addr[0] == 169 && addr[1] == 254) || addr[0] == 127)
        scope = 2;
-      else if (addr[0] == 10 || (addr[0] == 172 && addr[1] == 16)
+      else if (addr[0] == 10 || (addr[0] == 172 && (addr[1] & 0xf0) == 16)
               || (addr[0] == 192 && addr[1] == 168))
        scope = 5;
       else