| Index: components/policy/core/common/schema.cc
|
| diff --git a/components/policy/core/common/schema.cc b/components/policy/core/common/schema.cc
|
| index 31dae8e6daa8faa21de5c85cdecebb8d1f27c3cd..330848cc732364817b5ed9558703a7083a0a4be6 100644
|
| --- a/components/policy/core/common/schema.cc
|
| +++ b/components/policy/core/common/schema.cc
|
| @@ -619,7 +619,7 @@
|
| int value;
|
| for (base::ListValue::const_iterator it = possible_values->begin();
|
| it != possible_values->end(); ++it) {
|
| - if (!it->GetAsInteger(&value)) {
|
| + if (!(*it)->GetAsInteger(&value)) {
|
| *error = "Invalid enumeration member type";
|
| return false;
|
| }
|
| @@ -631,7 +631,7 @@
|
| std::string value;
|
| for (base::ListValue::const_iterator it = possible_values->begin();
|
| it != possible_values->end(); ++it) {
|
| - if (!it->GetAsString(&value)) {
|
| + if (!(*it)->GetAsString(&value)) {
|
| *error = "Invalid enumeration member type";
|
| return false;
|
| }
|
| @@ -826,7 +826,10 @@
|
| } else if (value.GetAsList(&list)) {
|
| for (base::ListValue::const_iterator it = list->begin(); it != list->end();
|
| ++it) {
|
| - if (!GetItems().Validate(*it, StrategyForNextLevel(strategy), error_path,
|
| + if (!*it ||
|
| + !GetItems().Validate(**it,
|
| + StrategyForNextLevel(strategy),
|
| + error_path,
|
| error)) {
|
| // Invalid list item was detected.
|
| AddListIndexPrefixToPath(it - list->begin(), error_path);
|
|
|