From: Alan T. DeKok Date: Tue, 18 Jan 2022 22:00:31 +0000 (-0500) Subject: let's handle -1, m'kay? X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e976cb77e5388696f97c4eb16c297593047de91b;p=thirdparty%2Ffreeradius-server.git let's handle -1, m'kay? --- diff --git a/src/lib/util/inet.c b/src/lib/util/inet.c index 2a3632c16e..792079fb8a 100644 --- a/src/lib/util/inet.c +++ b/src/lib/util/inet.c @@ -620,6 +620,8 @@ int fr_inet_pton6(fr_ipaddr_t *out, char const *value, ssize_t inlen, bool resol */ memset(out, 0, sizeof(*out)); + if (inlen < 0) inlen = strlen(value); + end = value + inlen; while ((value < end) && isspace((int) *value)) value++; if (value == end) { @@ -635,6 +637,7 @@ int fr_inet_pton6(fr_ipaddr_t *out, char const *value, ssize_t inlen, bool resol fr_strerror_printf("Invalid IPv6 address string \"%pV\"", fr_box_strvalue_len(value, inlen)); return -1; } + memcpy(buffer, value, inlen); buffer[inlen] = '\0'; value = buffer;