summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions
diff options
context:
space:
mode:
authoraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-01 16:40:01 +0000
committeraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-01 16:40:01 +0000
commit47e2377ba88923e0764dc06a118a88a8bdfecfc1 (patch)
tree13d3fd04d537556996b21afa6c7e7f8fafed0e5a /chrome/browser/extensions
parent9d4391d6c7cfc903b5252cfc64caaeb3c46edd73 (diff)
downloadchromium_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.cc7
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)