diff -up perl-5.8.8/ext/Socket/Socket.xs.crr perl-5.8.8/ext/Socket/Socket.xs
--- perl-5.8.8/ext/Socket/Socket.xs.crr 2005-07-08 17:56:17.000000000 +0200
+++ perl-5.8.8/ext/Socket/Socket.xs 2008-03-19 14:24:02.000000000 +0100
@@ -236,7 +236,8 @@ inet_aton(host)
(*host != '\0') &&
inet_aton(host, &ip_address);
- if (!ok && (phe = gethostbyname(host))) {
+ if (!ok && (phe = gethostbyname(host)) &&
+ phe->h_addrtype == AF_INET && phe->h_length == 4) {
Copy( phe->h_addr, &ip_address, phe->h_length, char );
ok = 1;
}