From: Matt Joiner Date: Wed, 13 Sep 2017 06:18:15 +0000 (+1000) Subject: mse: Error if initial payload exceeds maximum size X-Git-Tag: v1.0.0~402 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=11165d4fa58defe3c75f471576a1f3060ea5415c;p=btrtrc.git mse: Error if initial payload exceeds maximum size --- diff --git a/mse/mse.go b/mse/mse.go index 421ade3f..eb2480aa 100644 --- a/mse/mse.go +++ b/mse/mse.go @@ -366,6 +366,10 @@ func (h *handshake) initerSteps() (ret io.ReadWriter, err error) { buf := &bytes.Buffer{} padLen := uint16(newPadLen()) err = marshal(buf, vc[:], uint32(cryptoMethodRC4), padLen, zeroPad[:padLen], uint16(len(h.ia)), h.ia) + if len(h.ia) > math.MaxUint16 { + err = errors.New("initial payload too large") + return + } if err != nil { return }