*: gethostname-related fixes

function                                             old     new   delta
hostname_main                                        218     231     +13
nfsmount                                            3541    3474     -67

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/util-linux/mount.c b/util-linux/mount.c
index 4392363..620b146 100644
--- a/util-linux/mount.c
+++ b/util-linux/mount.c
@@ -1043,12 +1043,10 @@
 			bb_herror_msg("%s", hostname);
 			goto fail;
 		}
-		if ((size_t)hp->h_length > sizeof(struct in_addr)) {
-			bb_error_msg("got bad hp->h_length");
-			hp->h_length = sizeof(struct in_addr);
+		if (hp->h_length != (int)sizeof(struct in_addr)) {
+			bb_error_msg_and_die("only IPv4 is supported");
 		}
-		memcpy(&server_addr.sin_addr,
-				hp->h_addr, hp->h_length);
+		memcpy(&server_addr.sin_addr, hp->h_addr_list[0], sizeof(struct in_addr));
 	}
 
 	memcpy(&mount_server_addr, &server_addr, sizeof(mount_server_addr));
@@ -1331,13 +1329,11 @@
 				bb_herror_msg("%s", mounthost);
 				goto fail;
 			}
-			if ((size_t)hp->h_length > sizeof(struct in_addr)) {
-				bb_error_msg("got bad hp->h_length");
-				hp->h_length = sizeof(struct in_addr);
+			if (hp->h_length != (int)sizeof(struct in_addr)) {
+				bb_error_msg_and_die("only IPv4 is supported");
 			}
 			mount_server_addr.sin_family = AF_INET;
-			memcpy(&mount_server_addr.sin_addr,
-						hp->h_addr, hp->h_length);
+			memcpy(&mount_server_addr.sin_addr, hp->h_addr_list[0], sizeof(struct in_addr));
 		}
 	}