X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/fca3ef06cdb845573b8460a551ad5f90838ef9ca..f62c17e3786ac6643981d9ec68a1cd130ffcf149:/lib/compat.c diff --git a/lib/compat.c b/lib/compat.c index e2380e17..426eee2a 100644 --- a/lib/compat.c +++ b/lib/compat.c @@ -103,6 +103,7 @@ { size_t len = strlen(s); size_t ret = len; + if (bufsize <= 0) return 0; if (len >= bufsize) len = bufsize-1; memcpy(d, s, len); d[len] = 0; @@ -147,7 +148,7 @@ } #endif -#ifndef REPLACE_INET_ATON +#ifdef REPLACE_INET_ATON int inet_aton(const char *cp, struct in_addr *inp) { unsigned int a1, a2, a3, a4; @@ -155,12 +156,12 @@ if (strcmp(cp, "255.255.255.255") == 0) { inp->s_addr = (unsigned) -1; - return 1; + return 0; } if (sscanf(cp, "%u.%u.%u.%u", &a1, &a2, &a3, &a4) != 4 || a1 > 255 || a2 > 255 || a3 > 255 || a4 > 255) { - return 1; + return 0; } ret = (a1 << 24) | (a2 << 16) | (a3 << 8) | a4;