From 0b9c4d7baa89d7d5162cccfcdd5cf888c15e44c6 Mon Sep 17 00:00:00 2001 From: gagliardetto Date: Wed, 17 Apr 2024 18:43:18 +0200 Subject: [PATCH] Check for negative nums --- transaction.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/transaction.go b/transaction.go index 478c67a7..978eeb4e 100644 --- a/transaction.go +++ b/transaction.go @@ -505,6 +505,9 @@ func (tx *Transaction) UnmarshalWithDecoder(decoder *bin.Decoder) (err error) { if err != nil { return fmt.Errorf("unable to read numSignatures: %w", err) } + if numSignatures < 0 { + return fmt.Errorf("numSignatures is negative") + } if numSignatures > decoder.Remaining()/64 { return fmt.Errorf("numSignatures %d is too large for remaining bytes %d", numSignatures, decoder.Remaining()) }