diff --git a/trie/secure_trie.go b/trie/secure_trie.go index 20c303f31c..100ccf57b3 100644 --- a/trie/secure_trie.go +++ b/trie/secure_trie.go @@ -158,6 +158,13 @@ func (t *SecureTrie) Root() []byte { func (t *SecureTrie) Copy() *SecureTrie { cpy := *t + if len(t.secKeyCache) > 0 { + cpy.secKeyCache = make(map[string][]byte) + for k, v := range t.secKeyCache { + cpy.secKeyCache[k] = v + } + cpy.secKeyCacheOwner = &cpy + } return &cpy }