Chromium Code Reviews| Index: webkit/common/database/database_identifier.cc |
| diff --git a/webkit/common/database/database_identifier.cc b/webkit/common/database/database_identifier.cc |
| index 332dfb8b0cc4ec7ad1c596e19dff76b59d565d4d..8867dc15e587c5e752c1efc37a61f5f512a23989 100644 |
| --- a/webkit/common/database/database_identifier.cc |
| +++ b/webkit/common/database/database_identifier.cc |
| @@ -58,6 +58,13 @@ DatabaseIdentifier DatabaseIdentifier::CreateFromOrigin(const GURL& origin) { |
| DatabaseIdentifier DatabaseIdentifier::Parse(const std::string& identifier) { |
| if (!IsStringASCII(identifier)) |
| return DatabaseIdentifier(); |
| + if (identifier.find("..") != std::string::npos) |
| + return DatabaseIdentifier(); |
| + char forbidden[] = {'\\', '/', ':' ,'\0'}; |
|
michaeln
2014/03/18 22:32:46
i've relocated these checks into DatabaseIdentifie
|
| + if (identifier.find_first_of(forbidden, 0, arraysize(forbidden)) != |
| + std::string::npos) { |
| + return DatabaseIdentifier(); |
| + } |
| size_t first_underscore = identifier.find_first_of('_'); |
| if (first_underscore == std::string::npos || first_underscore == 0) |