glibc-addrinfo_match_prefix.patch

Jakub Bogusz qboosh w pld-linux.org
Wto, 17 Lut 2004, 11:13:39 CET


Wygląda tak:

--- glibc-2.3.3.orig/sysdeps/posix/getaddrinfo.c        2003-12-05 01:26:04.000000000 +0100
+++ glibc-2.3.3/sysdeps/posix/getaddrinfo.c     2004-02-02 12:13:23.982960898 +0100
@@ -1049,7 +1049,7 @@

       if (bits < 8)
        {
-         if ((*mask & (0xff >> bits)) == (*val & (0xff >> bits)))
+         if ((*mask & (0xff >> (8-bits))) == (*val & (0xff >> (8-bits))))
            /* Match!  */
            break;
        }

podczas gdy w glibc właśnie pojawiła się taka poprawka:

@@ -1049,7 +1069,7 @@

       if (bits < 8)
        {
-         if ((*mask & (0xff >> bits)) == (*val & (0xff >> bits)))
+         if ((*mask & (0xff00 >> bits)) == (*val & (0xff00 >> bits)))
            /* Match!  */
            break;
        }

Działanie jest różne i poprawna jest raczej ta druga wersja (kolejne
bity maski w ramach bajtów są liczone od najstarszego)?


-- 
Jakub Bogusz    http://cyber.cs.net.pl/~qboosh/



Więcej informacji o liście dyskusyjnej pld-devel-pl