diff --git a/src/tls13.c b/src/tls13.c index 824ad08b69..180db43b43 100644 --- a/src/tls13.c +++ b/src/tls13.c @@ -5371,7 +5371,8 @@ int DoTls13ServerHello(WOLFSSL* ssl, const byte* input, word32* inOutIdx, /* Session id */ args->sessIdSz = input[args->idx++]; - if ((args->idx - args->begin) + args->sessIdSz > helloSz) + if (args->sessIdSz > ID_LEN || args->sessIdSz > RAN_LEN || + ((args->idx - args->begin) + args->sessIdSz > helloSz)) return BUFFER_ERROR; args->sessId = input + args->idx; args->idx += args->sessIdSz;