diff --git a/src/tls13.c b/src/tls13.c index a464ce9006..900d4d7c0d 100644 --- a/src/tls13.c +++ b/src/tls13.c @@ -12166,7 +12166,7 @@ static int SendTls13NewSessionTicket(WOLFSSL* ssl) /* Nonce */ length += TICKET_NONCE_LEN_SZ + DEF_TICKET_NONCE_SZ; - sendSz = (word16)(idx + length + MAX_MSG_EXTRA); + sendSz = (int)(idx + length + MAX_MSG_EXTRA); /* Check buffers are big enough and grow if needed. */ if ((ret = CheckAvailableSize(ssl, sendSz)) != 0) @@ -12222,7 +12222,8 @@ static int SendTls13NewSessionTicket(WOLFSSL* ssl) idx += EXTS_SZ; #endif - if (idx > WOLFSSL_MAX_16BIT) { + if (idx > WOLFSSL_MAX_16BIT || + sendSz > (int)WOLFSSL_MAX_16BIT) { return BAD_LENGTH_E; }