diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2018-03-17 01:00:24 +0100 |
---|---|---|
committer | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2018-03-17 01:00:24 +0100 |
commit | 533b4158199f6d346af9a823ff5908a7fae9fed4 (patch) | |
tree | 01b23dd99fe2695376b6c5c923d97b074c2953f3 /src/corelib | |
parent | 27239f4fcfa6f64d60e7b79185ff413878152ebd (diff) | |
parent | 23fd4f7171ce0d509f59f42a9881de53f85644e7 (diff) |
Merge remote-tracking branch 'origin/5.11' into dev
Change-Id: Id3e318f276fc56b5105561a1904cc242b663e9e4
Diffstat (limited to 'src/corelib')
-rw-r--r-- | src/corelib/io/qipaddress.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/corelib/io/qipaddress.cpp b/src/corelib/io/qipaddress.cpp index 02b12f635a..039e291b43 100644 --- a/src/corelib/io/qipaddress.cpp +++ b/src/corelib/io/qipaddress.cpp @@ -216,7 +216,10 @@ const QChar *parseIp6(IPv6Address &address, const QChar *begin, const QChar *end quint64 ll = qstrtoull(ptr, &endptr, 16, &ok); quint16 x = ll; - if (!ok || ll != x) + // Reject malformed fields: + // - failed to parse + // - too many hex digits + if (!ok || endptr > ptr + 4) return begin + (ptr - buffer.data()); if (*endptr == '.') { |