Fix segfault in CVS head (sorry about that)
[asterisk/asterisk.git] / utils.c
diff --git a/utils.c b/utils.c
index d73e76e..dca0dfd 100755 (executable)
--- a/utils.c
+++ b/utils.c
@@ -191,7 +191,9 @@ struct hostent *ast_gethostbyname(const char *host, struct ast_hostent *hp)
                /* Forge a reply for IP's to avoid octal IP's being interpreted as octal */
                if (dots != 3)
                        return NULL;
-               hp->hp.h_addr = hp->buf;
+               memset(hp, 0, sizeof(struct ast_hostent));
+               hp->hp.h_addr_list = hp->buf;
+               hp->hp.h_addr = hp->buf + sizeof(void *);
                if (inet_pton(AF_INET, host, hp->hp.h_addr) > 0)
                        return &hp->hp;
                return NULL;