Chromium Code Reviews| Index: chrome/browser/supervised_user/supervised_user_settings_service.cc |
| diff --git a/chrome/browser/supervised_user/supervised_user_settings_service.cc b/chrome/browser/supervised_user/supervised_user_settings_service.cc |
| index 6628c217b971eae0cc53a31dfcc1dc00efbd5a72..33e9f25b7a36f29376fa20d6408f1d15dc1e4b01 100644 |
| --- a/chrome/browser/supervised_user/supervised_user_settings_service.cc |
| +++ b/chrome/browser/supervised_user/supervised_user_settings_service.cc |
| @@ -241,6 +241,14 @@ SyncMergeResult SupervisedUserSettingsService::MergeDataAndStartSyncing( |
| sync_data.GetSpecifics().managed_user_setting(); |
| std::unique_ptr<base::Value> value = |
| JSONReader::Read(supervised_user_setting.value()); |
| + // null values will cause Chrome to crash when building the settings |
| + // dictionary. Therefore, we ignore them here to prevent such crashes. |
|
Marc Treib
2016/08/03 15:30:16
Just say that SetWithoutPathExpansion below requir
|
| + if (!value) { |
| + DLOG(ERROR) << "Invalid managed user setting value: " |
| + << supervised_user_setting.value() |
| + << ". Values must be JSON values."; |
| + continue; |
| + } |
| std::string name_suffix = supervised_user_setting.name(); |
| std::string name_key = name_suffix; |
| base::DictionaryValue* dict = GetDictionaryAndSplitKey(&name_suffix); |