diff --git a/src/tls13.c b/src/tls13.c index c078f924c..cbf8628bf 100644 --- a/src/tls13.c +++ b/src/tls13.c @@ -3896,6 +3896,11 @@ int DoTls13ClientHello(WOLFSSL* ssl, const byte* input, word32* inOutIdx, if (sessIdSz != ID_LEN && sessIdSz != 0) return INVALID_PARAMETER; #endif + + if (sessIdSz + i > helloSz) { + return BUFFER_ERROR; + } + ssl->session.sessionIDSz = sessIdSz; if (sessIdSz == ID_LEN) { XMEMCPY(ssl->session.sessionID, input + i, sessIdSz);