diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2012-05-08 13:31:12 -0700 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-05-10 02:39:30 +0200 |
commit | 75552c8f62dcfb8012c306b37c79ec629448d780 (patch) | |
tree | a2568f71173982feb3e34250f1a3d9fc25dbd034 /src/corelib | |
parent | ff3a2ab24259d623aeb15d596a1c3be5f683579d (diff) |
Fix a crash when parsing a URL with username and port, but no password
This was crashing because the ':' was found past the end of the
username, causing the recoder to run from position 22 to 11, via the
long way around the memory.
Change-Id: Ic1ae596f34f7db857fb4210294974fb5a6adf691
Reviewed-by: Alexis Menard <alexis.menard@openbossa.org>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Diffstat (limited to 'src/corelib')
-rw-r--r-- | src/corelib/io/qurl.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/corelib/io/qurl.cpp b/src/corelib/io/qurl.cpp index f975fb4e43..3e711b12ec 100644 --- a/src/corelib/io/qurl.cpp +++ b/src/corelib/io/qurl.cpp @@ -777,7 +777,7 @@ void QUrlPrivate::setUserInfo(const QString &userInfo, int from, int end) int delimIndex = userInfo.indexOf(QLatin1Char(':'), from); setUserName(userInfo, from, qMin<uint>(delimIndex, end)); - if (delimIndex == -1) { + if (uint(delimIndex) >= uint(end)) { password.clear(); sectionIsPresent &= ~Password; sectionHasError &= ~Password; |