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 Alvarez
parent 131288688c
commit 7fe964541b

View file

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