diff options
Diffstat (limited to 'libxtables/xtables.c')
-rw-r--r-- | libxtables/xtables.c | 54 |
1 files changed, 24 insertions, 30 deletions
diff --git a/libxtables/xtables.c b/libxtables/xtables.c index d43f9706..ae73a06a 100644 --- a/libxtables/xtables.c +++ b/libxtables/xtables.c @@ -1372,21 +1372,18 @@ static struct in_addr *host_to_ipaddr(const char *name, unsigned int *naddr) hints.ai_socktype = SOCK_RAW; *naddr = 0; - if ((err = getaddrinfo(name, NULL, &hints, &res)) != 0) { + err = getaddrinfo(name, NULL, &hints, &res); + if (err != 0) return NULL; - } else { - for (p = res; p != NULL; p = p->ai_next) - ++*naddr; - addr = xtables_calloc(*naddr, sizeof(struct in_addr)); - for (i = 0, p = res; p != NULL; p = p->ai_next) - memcpy(&addr[i++], - &((const struct sockaddr_in *)p->ai_addr)->sin_addr, - sizeof(struct in_addr)); - freeaddrinfo(res); - return addr; - } - - return NULL; + for (p = res; p != NULL; p = p->ai_next) + ++*naddr; + addr = xtables_calloc(*naddr, sizeof(struct in_addr)); + for (i = 0, p = res; p != NULL; p = p->ai_next) + memcpy(&addr[i++], + &((const struct sockaddr_in *)p->ai_addr)->sin_addr, + sizeof(struct in_addr)); + freeaddrinfo(res); + return addr; } static struct in_addr * @@ -1662,23 +1659,20 @@ host_to_ip6addr(const char *name, unsigned int *naddr) hints.ai_socktype = SOCK_RAW; *naddr = 0; - if ((err = getaddrinfo(name, NULL, &hints, &res)) != 0) { + err = getaddrinfo(name, NULL, &hints, &res); + if (err != 0) return NULL; - } else { - /* Find length of address chain */ - for (p = res; p != NULL; p = p->ai_next) - ++*naddr; - /* Copy each element of the address chain */ - addr = xtables_calloc(*naddr, sizeof(struct in6_addr)); - for (i = 0, p = res; p != NULL; p = p->ai_next) - memcpy(&addr[i++], - &((const struct sockaddr_in6 *)p->ai_addr)->sin6_addr, - sizeof(struct in6_addr)); - freeaddrinfo(res); - return addr; - } - - return NULL; + /* Find length of address chain */ + for (p = res; p != NULL; p = p->ai_next) + ++*naddr; + /* Copy each element of the address chain */ + addr = xtables_calloc(*naddr, sizeof(struct in6_addr)); + for (i = 0, p = res; p != NULL; p = p->ai_next) + memcpy(&addr[i++], + &((const struct sockaddr_in6 *)p->ai_addr)->sin6_addr, + sizeof(struct in6_addr)); + freeaddrinfo(res); + return addr; } static struct in6_addr *network_to_ip6addr(const char *name) |