diff --git a/lib/utils/ip.js b/lib/utils/ip.js index f39915ee..a7ad24a1 100644 --- a/lib/utils/ip.js +++ b/lib/utils/ip.js @@ -280,6 +280,14 @@ IP.parseV6 = function parseV6(str, buf, offset) { assert(missing >= 0, 'IPv6 address is too long.'); assert(parts.length >= 2, 'Not an IPv6 address.'); + for (i = 0; i < parts.length; i++) { + word = parts[i]; + if (IP.isV4Format(word)) + missing--; + } + + assert(missing >= 0, 'IPv6 address is too long.'); + for (i = 0; i < parts.length; i++) { word = parts[i];