Index: extensions/common/url_pattern.cc |
=================================================================== |
--- extensions/common/url_pattern.cc (revision 287395) |
+++ extensions/common/url_pattern.cc (working copy) |
@@ -50,6 +50,7 @@ |
const char kParseErrorInvalidHostWildcard[] = "Invalid host wildcard."; |
const char kParseErrorEmptyPath[] = "Empty path."; |
const char kParseErrorInvalidPort[] = "Invalid port."; |
+const char kParseErrorInvalidHost[] = "Invalid host."; |
// Message explaining each URLPattern::ParseResult. |
const char* const kParseResultMessages[] = { |
@@ -61,6 +62,7 @@ |
kParseErrorInvalidHostWildcard, |
kParseErrorEmptyPath, |
kParseErrorInvalidPort, |
+ kParseErrorInvalidHost, |
}; |
COMPILE_ASSERT(URLPattern::NUM_PARSE_RESULTS == arraysize(kParseResultMessages), |
@@ -253,6 +255,10 @@ |
if (host_.find('*') != std::string::npos) |
return PARSE_ERROR_INVALID_HOST_WILDCARD; |
+ // Null characters are not allowed in hosts. |
+ if (host_.find('\0') != std::string::npos) |
+ return PARSE_ERROR_INVALID_HOST; |
+ |
return PARSE_SUCCESS; |
} |