diff --git a/padding/iso9797_m3.go b/padding/iso9797_m3.go index ce15b55..565f749 100644 --- a/padding/iso9797_m3.go +++ b/padding/iso9797_m3.go @@ -30,6 +30,11 @@ func (pad iso9797M3Padding) Pad(src []byte) []byte { var head, tail []byte total := srcLen + overhead + pad.BlockSize() + + if total <= 0 { + panic("padding: total length overflow") + } + if cap(src) >= total { head = src[:total] } else {