diff options
-rw-r--r-- | WebCore/page/SecurityOrigin.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/WebCore/page/SecurityOrigin.cpp b/WebCore/page/SecurityOrigin.cpp index 187ec31..f18f6a9 100644 --- a/WebCore/page/SecurityOrigin.cpp +++ b/WebCore/page/SecurityOrigin.cpp @@ -250,15 +250,16 @@ PassRefPtr<SecurityOrigin> SecurityOrigin::createFromDatabaseIdentifier(const St if (separator2 == -1) return create(KURL()); - // Ensure there were at least 2 seperator characters. Some hostnames on intranets have + // Ensure there were at least 2 separator characters. Some hostnames on intranets have // underscores in them, so we'll assume that any additional underscores are part of the host. - if (separator1 != separator2) + if (separator1 == separator2) return create(KURL()); // Make sure the port section is a valid port number or doesn't exist bool portOkay; int port = databaseIdentifier.right(databaseIdentifier.length() - separator2 - 1).toInt(&portOkay); - if (!portOkay && separator2 + 1 == static_cast<int>(databaseIdentifier.length())) + bool portAbsent = (separator2 == static_cast<int>(databaseIdentifier.length()) - 1); + if (!(portOkay || portAbsent)) return create(KURL()); if (port < 0 || port > 65535) |