From de1eb6782fb3a96eba53152955aabf9f07e41135 Mon Sep 17 00:00:00 2001 From: Gary Rong Date: Mon, 20 Apr 2026 14:26:37 +0800 Subject: [PATCH] core/state: terminate Next if error is not nil in iterator --- core/state/database_iterator.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/core/state/database_iterator.go b/core/state/database_iterator.go index d4aaeb89ad..1ff164b002 100644 --- a/core/state/database_iterator.go +++ b/core/state/database_iterator.go @@ -189,6 +189,9 @@ func newFlatStorageIterator(it snapshot.StorageIterator, preimage PreimageReader // is exhausted or if an error occurs. Any error encountered is retained and // can be retrieved via Error(). func (si *flatStorageIterator) Next() bool { + if si.err != nil { + return false + } return si.it.Next() } @@ -263,6 +266,9 @@ func newMerkleTrieIterator(tr Trie, start common.Hash, account bool) (*merkleIte // is exhausted or if an error occurs. Any error encountered is retained and // can be retrieved via Error(). func (ti *merkleIterator) Next() bool { + if ti.err != nil { + return false + } return ti.it.Next() }