aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/hostip.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/lib/hostip.c b/lib/hostip.c
index 1707fd2d7..df054589d 100644
--- a/lib/hostip.c
+++ b/lib/hostip.c
@@ -530,8 +530,8 @@ Curl_addrinfo *Curl_getaddrinfo(struct SessionHandle *data,
struct hostent hostentry;
char *h_addr_list[2];
struct in_addr addrentry;
- char h_name[1];
- } *buf = (struct namebuf *)malloc(sizeof(struct namebuf)+128);
+ char h_name[128];
+ } *buf = (struct namebuf *)malloc(sizeof(struct namebuf));
if(!buf)
return NULL; /* major failure */
*bufp = (char *)buf;
@@ -545,8 +545,7 @@ Curl_addrinfo *Curl_getaddrinfo(struct SessionHandle *data,
h->h_addrtype = AF_INET;
h->h_length = sizeof(*addrentry);
h->h_name = &buf->h_name[0];
- MakeIP(ntohl(in), h->h_name,
- sizeof(struct namebuf)+128 - (long)(h->h_name) + (long)buf);
+ MakeIP(ntohl(in), h->h_name, sizeof(buf->h_name));
}
#if defined(HAVE_GETHOSTBYNAME_R)
else {