From 68c7058a80859dc5de75d3e34708cd1ea2f094e5 Mon Sep 17 00:00:00 2001 From: Sina M <1591639+s1na@users.noreply.github.com> Date: Thu, 9 Apr 2026 03:19:54 +0200 Subject: [PATCH] core/stateless: fix parsing an empty witness (#34683) This is to fix a crasher in keeper. --- core/stateless/encoding.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/stateless/encoding.go b/core/stateless/encoding.go index d559178892..1b20c4cb2a 100644 --- a/core/stateless/encoding.go +++ b/core/stateless/encoding.go @@ -17,6 +17,7 @@ package stateless import ( + "errors" "io" "github.com/ethereum/go-ethereum/common/hexutil" @@ -42,6 +43,9 @@ func (w *Witness) ToExtWitness() *ExtWitness { // FromExtWitness converts the consensus witness format into our internal one. func (w *Witness) FromExtWitness(ext *ExtWitness) error { + if len(ext.Headers) == 0 { + return errors.New("witness must contain at least one header") + } w.Headers = ext.Headers w.Codes = make(map[string]struct{}, len(ext.Codes))