From 21c981eb84e5543d2426c794568d37b23ec82831 Mon Sep 17 00:00:00 2001 From: Giulio rebuffo <giulio.rebuffo@gmail.com> Date: Tue, 19 Nov 2019 08:48:08 +0100 Subject: [PATCH] HexToQuad fixed in trie/visual.go (#173) --- trie/visual.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/trie/visual.go b/trie/visual.go index 50eb000b9b..d465c65599 100644 --- a/trie/visual.go +++ b/trie/visual.go @@ -24,6 +24,7 @@ import ( "math/big" "github.com/ledgerwatch/turbo-geth/common" + "github.com/ledgerwatch/turbo-geth/core/types/accounts" "github.com/ledgerwatch/turbo-geth/visual" ) @@ -438,10 +439,14 @@ func hexToQuad(nd node, hex []byte, newTrie *Trie) { case nil: return case valueNode: - _, newTrie.root = newTrie.insert(newTrie.root, keyHexToQuad(hex), 0, n) + nCopy := make(valueNode, len(n)) + copy(nCopy, n) + _, newTrie.root = newTrie.insert(newTrie.root, keyHexToQuad(hex), 0, nCopy) return case *accountNode: - _, newTrie.root = newTrie.insert(newTrie.root, keyHexToQuad(hex), 0, &accountNode{n.Account, nil, true}) + accountCopy := accounts.NewAccount() + accountCopy.Copy(&n.Account) + _, newTrie.root = newTrie.insert(newTrie.root, keyHexToQuad(hex), 0, &accountNode{accountCopy, nil, true}) aHex := hex if aHex[len(aHex)-1] == 16 { aHex = aHex[:len(aHex)-1] -- GitLab