diff options
Diffstat (limited to 'core/state')
-rw-r--r-- | core/state/dump.go | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/core/state/dump.go b/core/state/dump.go index 51d3e5554..7912fd5f9 100644 --- a/core/state/dump.go +++ b/core/state/dump.go @@ -118,7 +118,12 @@ func (self *StateDB) dump(c collector, excludeCode, excludeStorage, excludeMissi account.Storage = make(map[common.Hash]string) storageIt := trie.NewIterator(obj.getTrie(self.db).NodeIterator(nil)) for storageIt.Next() { - account.Storage[common.BytesToHash(self.trie.GetKey(storageIt.Key))] = common.Bytes2Hex(storageIt.Value) + _, content, _, err := rlp.Split(storageIt.Value) + if err != nil { + log.Error("Failed to decode the value returned by iterator", "error", err) + continue + } + account.Storage[common.BytesToHash(self.trie.GetKey(storageIt.Key))] = common.Bytes2Hex(content) } } c.onAccount(addr, account) |