diff options
Diffstat (limited to 'server/main.c')
-rw-r--r-- | server/main.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/server/main.c b/server/main.c index 111ae0e..0086923 100644 --- a/server/main.c +++ b/server/main.c @@ -459,13 +459,13 @@ do_net_setup(void) return 1; } hp = gethostbyname(hostname); - if (!hp) { + if (!hp || hp->h_addrtype != AF_INET) { syslog(LOG_ERR, "no gethostbyname repsonse"); strncpy(myname, hostname, MAXHOSTNAMELEN); return 1; } strncpy(myname, hp->h_name, MAXHOSTNAMELEN); - memcpy(&my_addr, hp->h_addr, sizeof(hp->h_addr)); + memcpy(&my_addr, hp->h_addr_list[0], hp->h_length); setservent(1); /* keep file/connection open */ |