diff options
author | aa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-01 16:40:01 +0000 |
---|---|---|
committer | aa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-01 16:40:01 +0000 |
commit | 47e2377ba88923e0764dc06a118a88a8bdfecfc1 (patch) | |
tree | 13d3fd04d537556996b21afa6c7e7f8fafed0e5a /chrome/browser/extensions | |
parent | 9d4391d6c7cfc903b5252cfc64caaeb3c46edd73 (diff) | |
download | chromium_src-47e2377ba88923e0764dc06a118a88a8bdfecfc1.zip chromium_src-47e2377ba88923e0764dc06a118a88a8bdfecfc1.tar.gz chromium_src-47e2377ba88923e0764dc06a118a88a8bdfecfc1.tar.bz2 |
Ignore invalid-looking extension ids when loading extensions.
We should also consider whether to revert the original change
so this doesn't get onto trunk.
TBR=asargent@chromium.org
BUG=40017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43354 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions')
-rw-r--r-- | chrome/browser/extensions/extension_prefs.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/chrome/browser/extensions/extension_prefs.cc b/chrome/browser/extensions/extension_prefs.cc index adf4ca3..2c72291 100644 --- a/chrome/browser/extensions/extension_prefs.cc +++ b/chrome/browser/extensions/extension_prefs.cc @@ -572,6 +572,13 @@ ExtensionPrefs::ExtensionsInfo* ExtensionPrefs::GetInstalledExtensionsInfo() { for (DictionaryValue::key_iterator extension_id( extension_data->begin_keys()); extension_id != extension_data->end_keys(); ++extension_id) { + // TODO(asargent): We store some autoupdated related state in the + // extensions area of the preferences without it actually being a valid + // extension. Need to fix all areas this breaks, or else reconsider where + // to store this data. + if (!Extension::IdIsValid(WideToASCII(*extension_id))) + continue; + ExtensionInfo* info = GetInstalledExtensionInfoImpl(extension_data.get(), extension_id); if (info) |