Merge pull request #21036 from karalabe/snapshot-storage-leak

core/state/snapshot: don't create storage list for non-existing accounts
pull/21037/head
Péter Szilágyi 5 years ago committed by GitHub
commit 87c463c47a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 5
      core/state/snapshot/difflayer.go

@ -526,6 +526,11 @@ func (dl *diffLayer) StorageList(accountHash common.Hash) ([]common.Hash, bool)
// If an old list already exists, return it // If an old list already exists, return it
dl.lock.RLock() dl.lock.RLock()
_, destructed := dl.destructSet[accountHash] _, destructed := dl.destructSet[accountHash]
if _, ok := dl.storageData[accountHash]; !ok {
// Account not tracked by this layer
dl.lock.RUnlock()
return nil, destructed
}
if list, exist := dl.storageList[accountHash]; exist { if list, exist := dl.storageList[accountHash]; exist {
dl.lock.RUnlock() dl.lock.RUnlock()
return list, destructed // The list might be nil return list, destructed // The list might be nil

Loading…
Cancel
Save