Index: chromeos/network/onc/onc_merger.cc |
diff --git a/chromeos/network/onc/onc_merger.cc b/chromeos/network/onc/onc_merger.cc |
index c2af97e800e4945b82ce4f232695b8a36d5ad5f0..51d8241bf218b5c90ffe39d48d2c71ac31cedfea 100644 |
--- a/chromeos/network/onc/onc_merger.cc |
+++ b/chromeos/network/onc/onc_merger.cc |
@@ -382,16 +382,18 @@ class MergeToAugmented : public MergeToEffective { |
if (IsIdentifierField(*signature_, key)) { |
// Don't augment the GUID but write the plain value. |
- if (!effective_value) { |
- LOG(ERROR) << "GUID field has no effective value"; |
- return nullptr; |
+ if (effective_value) { |
+ // DCHECK that all provided GUIDs are identical. |
+ DCHECK(AllPresentValuesEqual(values, *effective_value)); |
+ // Return the un-augmented GUID. |
+ return effective_value.Pass(); |
} |
- |
- // DCHECK that all provided GUIDs are identical. |
- DCHECK(AllPresentValuesEqual(values, *effective_value)); |
- |
- // Return the un-augmented GUID. |
- return effective_value.Pass(); |
+ if (values.active_setting) { |
+ // Unmanaged networks have assigned (active) GUID values. |
+ return make_scoped_ptr(values.active_setting->DeepCopy()); |
+ } |
+ LOG(ERROR) << "GUID field has no effective value"; |
+ return nullptr; |
} |
scoped_ptr<base::DictionaryValue> augmented_value( |