Debian patch used original code for 32-bit and sizeof(struct ifreq) for 64-bit builds, but the latter is exactly what Linux kernel does everywhere. diff -urNad src/get_myipaddr.c trunk/src/get_myipaddr.c --- src/get_myipaddr.c 2009-09-03 13:10:32.000000000 +0200 +++ src/get_myipaddr.c 2009-09-03 13:15:39.671451172 +0200 @@ -118,7 +118,7 @@ #endif /* not STRUCT_SOCKADDR_HAS_SA_LEN */ /* increment ptr to next interface for next time through the loop */ - ptr += sizeof(ifr->ifr_name) + len; + ptr += sizeof(struct ifreq); if (strcmp(ifname, ifr->ifr_name) != 0 ) /* is this the interface we're looking for? */ continue;