aboutsummaryrefslogtreecommitdiff
path: root/cpp/src/lookup_key.cc
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/lookup_key.cc')
-rw-r--r--cpp/src/lookup_key.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/cpp/src/lookup_key.cc b/cpp/src/lookup_key.cc
index fbd9a50..c0c7b86 100644
--- a/cpp/src/lookup_key.cc
+++ b/cpp/src/lookup_key.cc
@@ -109,7 +109,8 @@ void LookupKey::FromLookupKey(const LookupKey& parent,
assert(parent.nodes_.size() < arraysize(kHierarchy));
assert(!child_node.empty());
- nodes_ = parent.nodes_;
+ // Copy its nodes if this isn't the parent object.
+ if (this != &parent) nodes_ = parent.nodes_;
AddressField child_field = kHierarchy[nodes_.size()];
nodes_.insert(std::make_pair(child_field, child_node));
}