aboutsummaryrefslogtreecommitdiffhomepage
path: root/Firestore/core/src/firebase/firestore/model
diff options
context:
space:
mode:
authorGravatar zxu <zxu@google.com>2018-04-24 12:41:49 -0400
committerGravatar GitHub <noreply@github.com>2018-04-24 12:41:49 -0400
commit700413cb64bd9a6a9c57b862106195f39decb045 (patch)
tree72dc96c33e58abfe977fccdcad2d380304307fdd /Firestore/core/src/firebase/firestore/model
parent8327390ccc27853c5bee794029a9ab2cc54df335 (diff)
fix a bug caught by asan failure (#1173)
Diffstat (limited to 'Firestore/core/src/firebase/firestore/model')
-rw-r--r--Firestore/core/src/firebase/firestore/model/field_value.cc6
1 files changed, 3 insertions, 3 deletions
diff --git a/Firestore/core/src/firebase/firestore/model/field_value.cc b/Firestore/core/src/firebase/firestore/model/field_value.cc
index 9b3acad..35253c8 100644
--- a/Firestore/core/src/firebase/firestore/model/field_value.cc
+++ b/Firestore/core/src/firebase/firestore/model/field_value.cc
@@ -183,12 +183,12 @@ FieldValue FieldValue::Set(const FieldPath& field_path,
} else {
ObjectValue::Map copy = CopyExcept(object_map, child_name);
const auto iter = object_map.find(child_name);
- if (iter == copy.end() || iter->second.type() != Type::Object) {
+ if (iter == object_map.end() || iter->second.type() != Type::Object) {
copy[child_name] = FieldValue::ObjectValueFromMap({}).Set(
field_path.PopFirst(), std::move(value));
} else {
- copy[child_name] = object_map.at(child_name)
- .Set(field_path.PopFirst(), std::move(value));
+ copy[child_name] =
+ iter->second.Set(field_path.PopFirst(), std::move(value));
}
return FieldValue::ObjectValueFromMap(std::move(copy));
}