]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
let's handle -1, m'kay?
authorAlan T. DeKok <aland@freeradius.org>
Tue, 18 Jan 2022 22:00:31 +0000 (17:00 -0500)
committerAlan T. DeKok <aland@freeradius.org>
Tue, 18 Jan 2022 22:00:31 +0000 (17:00 -0500)
src/lib/util/inet.c

index 2a3632c16eb965c9a52bfa9092e12ed54d42ce83..792079fb8a688573a3c7146d84e37c5c83f61c33 100644 (file)
@@ -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;