| Index: chrome/browser/extensions/external_registry_extension_loader_win.cc
|
| diff --git a/chrome/browser/extensions/external_registry_extension_loader_win.cc b/chrome/browser/extensions/external_registry_extension_loader_win.cc
|
| index 7f2df55b57f15aac25a8b9c640c7ea6586165366..11c35f18e071246b99357012513a228288149bd4 100644
|
| --- a/chrome/browser/extensions/external_registry_extension_loader_win.cc
|
| +++ b/chrome/browser/extensions/external_registry_extension_loader_win.cc
|
| @@ -57,6 +57,23 @@ void ExternalRegistryExtensionLoader::LoadOnFileThread() {
|
| std::string id = WideToASCII(iterator.Name());
|
| StringToLowerASCII(&id);
|
|
|
| + if (!Extension::IdIsValid(id)) {
|
| + LOG(ERROR) << "Invalid id value " << id
|
| + << " for key " << key_path << " .";
|
| + ++iterator;
|
| + continue;
|
| + }
|
| +
|
| + scoped_ptr<Version> version;
|
| + version.reset(Version::GetVersionFromString(
|
| + WideToASCII(extension_version)));
|
| + if (!version.get()) {
|
| + LOG(ERROR) << "Invalid version value " << extension_version
|
| + << " for key " << key_path << " .";
|
| + ++iterator;
|
| + continue;
|
| + }
|
| +
|
| prefs->SetString(
|
| id + "." + ExternalExtensionProviderImpl::kExternalVersion,
|
| WideToASCII(extension_version));
|
| @@ -66,12 +83,12 @@ void ExternalRegistryExtensionLoader::LoadOnFileThread() {
|
| } else {
|
| // TODO(erikkay): find a way to get this into about:extensions
|
| LOG(ERROR) << "Missing value " << kRegistryExtensionVersion
|
| - << " for key " << key_path;
|
| + << " for key " << key_path << " .";
|
| }
|
| } else {
|
| // TODO(erikkay): find a way to get this into about:extensions
|
| LOG(ERROR) << "Missing value " << kRegistryExtensionPath
|
| - << " for key " << key_path;
|
| + << " for key " << key_path << " .";
|
| }
|
| }
|
| ++iterator;
|
|
|