| Index: chrome/common/extensions/extension.cc
|
| diff --git a/chrome/common/extensions/extension.cc b/chrome/common/extensions/extension.cc
|
| index 99ad3f7f50e243b3487c812072fbe7ea5c6ec0ec..3626cfd900f578f9f6a5143c019b3f92f350cb6c 100644
|
| --- a/chrome/common/extensions/extension.cc
|
| +++ b/chrome/common/extensions/extension.cc
|
| @@ -1610,7 +1610,11 @@ bool Extension::LoadWebAccessibleResources(string16* error) {
|
| return false;
|
| }
|
| URLPattern pattern(URLPattern::SCHEME_EXTENSION);
|
| - pattern.Parse(extension_url_.spec());
|
| + if (pattern.Parse(extension_url_.spec()) != URLPattern::PARSE_SUCCESS) {
|
| + *error = ExtensionErrorUtils::FormatErrorMessageUTF16(
|
| + errors::kInvalidURLPatternError, extension_url_.spec());
|
| + return false;
|
| + }
|
| while (relative_path[0] == '/')
|
| relative_path = relative_path.substr(1, relative_path.length() - 1);
|
| pattern.SetPath(pattern.path() + relative_path);
|
| @@ -1637,7 +1641,11 @@ bool Extension::LoadSandboxedPages(string16* error) {
|
| return false;
|
| }
|
| URLPattern pattern(URLPattern::SCHEME_EXTENSION);
|
| - pattern.Parse(extension_url_.spec());
|
| + if (pattern.Parse(extension_url_.spec()) != URLPattern::PARSE_SUCCESS) {
|
| + *error = ExtensionErrorUtils::FormatErrorMessageUTF16(
|
| + errors::kInvalidURLPatternError, extension_url_.spec());
|
| + return false;
|
| + }
|
| while (relative_path[0] == '/')
|
| relative_path = relative_path.substr(1, relative_path.length() - 1);
|
| pattern.SetPath(pattern.path() + relative_path);
|
|
|