summaryrefslogtreecommitdiffstats
path: root/src/server/helper.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/helper.c')
-rw-r--r--src/server/helper.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/server/helper.c b/src/server/helper.c
index 65239ea..24ee0fb 100644
--- a/src/server/helper.c
+++ b/src/server/helper.c
@@ -23,6 +23,7 @@ char parse_address(char *string, dnbd3_host_t *host)
struct in_addr v4;
struct in6_addr v6;
+ memset( host, 0, sizeof(*host) );
// Try IPv4 without port
if ( 1 == inet_pton( AF_INET, string, &v4 ) ) {
host->type = AF_INET;
@@ -83,11 +84,11 @@ char host_to_string(const dnbd3_host_t *host, char *target, size_t targetlen)
if ( targetlen < 10 ) return FALSE;
if ( host->type == AF_INET6 ) {
*target++ = '[';
- inet_ntop( AF_INET6, host->addr, target, targetlen - 9 );
+ inet_ntop( AF_INET6, host->addr, target, targetlen - 10 );
target += strlen( target );
*target++ = ']';
} else if ( host->type == AF_INET ) {
- inet_ntop( AF_INET, host->addr, target, targetlen - 7 );
+ inet_ntop( AF_INET, host->addr, target, targetlen - 8 );
target += strlen( target );
} else {
snprintf( target, targetlen, "<?addrtype=%d>", (int)host->type );