diff options
-rw-r--r-- | lib/hostip.c | 7 |
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 { |