diff options
author | Richard Walters <rwalters@digitalstirling.com> | 2018-07-04 20:14:38 -0700 |
---|---|---|
committer | Richard Walters <rwalters@digitalstirling.com> | 2018-07-04 20:14:38 -0700 |
commit | 8600fe34174cb1c004dea73c22384cdbfda5c7b2 (patch) | |
tree | 43d5d7f7c8ec0a04abbc4cc62652f795524e5600 /src/Uri.cpp | |
parent | efdea1c3dc6db5744b9f1372bc300512e290824c (diff) |
Fix bug in IPv6Address validation
A trailing group which is definitely not an IPv4Address
needs to be counted. Detect this as the state being
IN_GROUP_NOT_IPV4 after the end of the string.
Diffstat (limited to 'src/Uri.cpp')
-rw-r--r-- | src/Uri.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/Uri.cpp b/src/Uri.cpp index 191aafd..73bdfc3 100644 --- a/src/Uri.cpp +++ b/src/Uri.cpp @@ -381,8 +381,10 @@ namespace { } ++position; } - // TODO: should also catch IN_GROUP_NOT_IPV4 - if (state == ValidationState::IN_GROUP_COULD_BE_IPV4) { + if ( + (state == ValidationState::IN_GROUP_NOT_IPV4) + || (state == ValidationState::IN_GROUP_COULD_BE_IPV4) + ) { // count trailing group ++numGroups; } |