From d013efc32e29077d3e85b007546c3a65039ae3c2 Mon Sep 17 00:00:00 2001 From: "rob@robwu.nl" Date: Wed, 2 Jul 2014 01:31:55 +0000 Subject: Return if a host name in an URLPattern has no non-whitespace characters. SplitString trims whitespace, so the |host_components| vector could be empty. BUG=390645 TEST=ExtensionURLPatternTest.ParseInvalid Review URL: https://codereview.chromium.org/364703002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@280935 0039d316-1c4b-4281-b951-d872f2087c98 --- extensions/common/url_pattern.cc | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'extensions/common/url_pattern.cc') diff --git a/extensions/common/url_pattern.cc b/extensions/common/url_pattern.cc index ee7d164..b667981 100644 --- a/extensions/common/url_pattern.cc +++ b/extensions/common/url_pattern.cc @@ -228,6 +228,11 @@ URLPattern::ParseResult URLPattern::Parse(const std::string& pattern) { // The first component can optionally be '*' to match all subdomains. std::vector host_components; base::SplitString(host_, '.', &host_components); + + // Could be empty if the host only consists of whitespace characters. + if (host_components.empty()) + return PARSE_ERROR_EMPTY_HOST; + if (host_components[0] == "*") { match_subdomains_ = true; host_components.erase(host_components.begin(), -- cgit v1.1