From 5df81800828322fb7a4298a4114047540174a0f5 Mon Sep 17 00:00:00 2001
From: Eric Andersen <andersen@codepoet.org>
Date: Thu, 8 Feb 2007 21:02:26 +0000
Subject: do not use ghbn_buf after it goes out of scope

---
 libc/inet/hostid.c | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

(limited to 'libc/inet')

diff --git a/libc/inet/hostid.c b/libc/inet/hostid.c
index 58dc13aec..442294acb 100644
--- a/libc/inet/hostid.c
+++ b/libc/inet/hostid.c
@@ -72,19 +72,18 @@ long int gethostid(void)
 	if (gethostname(host,MAXHOSTNAMELEN)>=0 && *host) {
 		struct hostent *hp;
 		struct in_addr in;
+		struct hostent ghbn_h;
+		char ghbn_buf[sizeof(struct in_addr) +
+			sizeof(struct in_addr *)*2 +
+			sizeof(char *)*((2 + 5/*MAX_ALIASES*/ +
+						1)/*ALIAS_DIM*/) +
+			256/*namebuffer*/ + 32/* margin */];
+		int ghbn_errno;
 
 		/* replace gethostbyname() with gethostbyname_r() - ron@zing.net */
 		/*if ((hp = gethostbyname(host)) == (struct hostent *)NULL)*/
-		{
-		    struct hostent ghbn_h;
-		    char ghbn_buf[sizeof(struct in_addr) +
-				  sizeof(struct in_addr *)*2 +
-				  sizeof(char *)*((2 + 5/*MAX_ALIASES*/ +
-						   1)/*ALIAS_DIM*/) +
-				  256/*namebuffer*/ + 32/* margin */];
-		    int ghbn_errno;
-		    gethostbyname_r(host, &ghbn_h, ghbn_buf, sizeof(ghbn_buf), &hp, &ghbn_errno);
-		}
+		gethostbyname_r(host, &ghbn_h, ghbn_buf, sizeof(ghbn_buf), &hp, &ghbn_errno);
+
 		if (hp == (struct hostent *)NULL)
 
 		/* This is not a error if we get here, as all it means is that
-- 
cgit v1.2.3