The inet_pton() function incorrectly converts some invalid IPv6 address strings containing the double colon characters (::). It appears that the problematic address strings are of the format x:x:x:x:x::x:x:x with exactly eight 16-bit pieces of the address and "::". The "::" can appear anywhere in the sequence. When given such an address string, inet_pton() returns 1, indicating a successful conversion. The converted binary address has zeros starting from the location of the "::" till the end of the binary address. For example, the input address string 1:2:3::4:5:6:7:8 is converted to the binary address: 0001:0002:0003:0000:0000:0000:0000:0000
Created attachment 89 [details] A test program to reproduce the bug.
assign to jakub
Fixed in glibc-2.1.92