]> arthur.barton.de Git - ngircd-alex.git/blobdiff - src/ipaddr/ng_ipaddr.c
Check for sockaddr_in.sin_len and initialize it
[ngircd-alex.git] / src / ipaddr / ng_ipaddr.c
index 0367a1f75848b4d9766425d7e6021b3e8f8bf9a9..4f1d4ca40492562858e87357c107c320b85c48b2 100644 (file)
@@ -51,6 +51,10 @@ ng_ipaddr_init(ng_ipaddr_t *addr, const char *ip_str, UINT16 port)
        return ret == 0;
 #else /* HAVE_GETADDRINFO */
        assert(ip_str);
+       memset(addr, 0, sizeof *addr);
+#ifdef HAVE_sockaddr_in_len
+       addr->sin4.sin_len = sizeof(addr->sin4);
+#endif
        addr->sin4.sin_family = AF_INET;
 # ifdef HAVE_INET_ATON
        if (inet_aton(ip_str, &addr->sin4.sin_addr) == 0)