Bug#357152: linked list returned by getifaddrs() contains structures without any address data
Package: libc6
Version: 2.3.6-2
This is the list getifaddrs() returns on my system (extracted
with a short C snippet) - basic information from the contained
sockaddr's printed (and some IPs hidden for privacy). Note the
P2P interfaces:
] eth0 (flags 0x1043): Non-NULL? Addr Y Netmask - Dest/BCast Y
] [F 17] IFIndex 1
] lo (flags 0x49): Non-NULL? Addr Y Netmask - Dest/BCast Y
] [F 17] IFIndex 2
] eth1 (flags 0x1003): Non-NULL? Addr Y Netmask - Dest/BCast Y
] [F 17] IFIndex 3
] sit0 (flags 0x80): Non-NULL? Addr Y Netmask - Dest/BCast Y
] [F 17] IFIndex 4
] tap0 (flags 0x1043): Non-NULL? Addr Y Netmask - Dest/BCast Y
] [F 17] IFIndex 5
] tap1 (flags 0x1043): Non-NULL? Addr Y Netmask - Dest/BCast Y
] [F 17] IFIndex 6
] ppp0 (flags 0x10d1): Non-NULL? Addr - Netmask - Dest/BCast -
] ippp0 (flags 0xd1): Non-NULL? Addr - Netmask - Dest/BCast -
] lo (flags 0x49): Non-NULL? Addr Y Netmask Y Dest/BCast Y
] [F 2] Addr 0x0100007f
] Mask 0x000000ff
] eth1 (flags 0x1003): Non-NULL? Addr Y Netmask Y Dest/BCast Y
] [F 2] Addr 0x3d40a8c0
] Mask 0x00ffffff
] tap0 (flags 0x1043): Non-NULL? Addr Y Netmask Y Dest/BCast Y
] [F 2] Addr 0x0120a8c0
] Mask 0x00ffffff
] tap1 (flags 0x1043): Non-NULL? Addr Y Netmask Y Dest/BCast Y
] [F 2] Addr 0x0121a8c0
] Mask 0x00ffffff
] ppp0 (flags 0x10d1): Non-NULL? Addr Y Netmask Y Dest/BCast Y
] [F 2] Addr 0x........
] Mask 0xffffffff
] ippp0 (flags 0xd1): Non-NULL? Addr Y Netmask Y Dest/BCast Y
] [F 2] Addr 0x........
] Mask 0xffffffff
] eth0 (flags 0x1043): Non-NULL? Addr Y Netmask Y Dest/BCast -
] [F 10] Addr fe80000000000000................
] lo (flags 0x49): Non-NULL? Addr Y Netmask Y Dest/BCast -
] [F 10] Addr 00000000000000000000000000000001
] tap0 (flags 0x1043): Non-NULL? Addr Y Netmask Y Dest/BCast -
] [F 10] Addr fe80000000000000709548fffeed901c
] tap1 (flags 0x1043): Non-NULL? Addr Y Netmask Y Dest/BCast -
] [F 10] Addr fe8000000000000070f756fffec1794f
Although <ifaddrs.h> doesn't explicitly claim it, there is at least
one program that relies on ifa_addr always being non-NULL (=> #356858);
and it should be no problem to get those empty structures out of
the list.
If I find enough time, I'll try to submit a patch.
Regards,
Jan
--
Jan C. Nordholz
<jckn At gmx net>
Reply to: