core/rawdb: return iterator error in findTxInBlockBody (#33188)

The iterator loop in findTxInBlockBody returned the outer-scoped err
when iter.Err() was non-nil, which could incorrectly propagate a nil or
stale error and hide actual RLP decoding issues. This patch returns
iter.Err() as intended by the rlp list iterator API, matching
established patterns elsewhere in the codebase and improving diagnostics
when encountering malformed transaction entries.
This commit is contained in:
radik878 2025-11-14 14:55:41 +02:00 committed by GitHub
parent aa36bcd0aa
commit 95273afec4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -148,7 +148,7 @@ func findTxInBlockBody(blockbody rlp.RawValue, target common.Hash) (*types.Trans
txIndex := uint64(0)
for iter.Next() {
if iter.Err() != nil {
return nil, 0, err
return nil, 0, iter.Err()
}
// The preimage for the hash calculation of legacy transactions
// is just their RLP encoding. For typed (EIP-2718) transactions,