From b06e96ae9637198609e1350cc708ab24027c0f64 Mon Sep 17 00:00:00 2001 From: JukLee0ira Date: Fri, 20 Sep 2024 15:44:58 +0800 Subject: [PATCH] core/types: fix receipt legacy decoding (19182) --- core/types/log.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/core/types/log.go b/core/types/log.go index 43c71e6ee445..75d5d17d4748 100644 --- a/core/types/log.go +++ b/core/types/log.go @@ -120,8 +120,12 @@ func (l *LogForStorage) EncodeRLP(w io.Writer) error { // // Note some redundant fields(e.g. block number, tx hash etc) will be assembled later. func (l *LogForStorage) DecodeRLP(s *rlp.Stream) error { + blob, err := s.Raw() + if err != nil { + return err + } var dec rlpStorageLog - err := s.Decode(&dec) + err = rlp.DecodeBytes(blob, &dec) if err == nil { *l = LogForStorage{ Address: dec.Address, @@ -131,7 +135,7 @@ func (l *LogForStorage) DecodeRLP(s *rlp.Stream) error { } else { // Try to decode log with previous definition. var dec LegacyRlpStorageLog - err = s.Decode(&dec) + err = rlp.DecodeBytes(blob, &dec) if err == nil { *l = LogForStorage{ Address: dec.Address,