@@ -33932,7 +33932,7 @@ int SendClientKeyExchange(WOLFSSL* ssl)
3393233932 if (esSz > MAX_PSK_ID_LEN) {
3393333933 ERROR_OUT(CLIENT_ID_ERROR, exit_scke);
3393433934 }
33935- if (esSz > MAX_ENCRYPT_SZ - OPAQUE16_LEN) {
33935+ if (esSz > MAX_ENCRYPT_SZ - (2 * OPAQUE16_LEN) ) {
3393633936 ERROR_OUT(CLIENT_ID_ERROR, exit_scke);
3393733937 }
3393833938 /* CLIENT: Pre-shared Key for peer authentication. */
@@ -33949,7 +33949,7 @@ int SendClientKeyExchange(WOLFSSL* ssl)
3394933949 args->output += OPAQUE16_LEN;
3395033950 XMEMCPY(args->output, ssl->arrays->client_identity, esSz);
3395133951 args->output += esSz;
33952- args->length = args->encSz - esSz - OPAQUE16_LEN;
33952+ args->length = args->encSz - esSz - (2 * OPAQUE16_LEN) ;
3395333953 args->encSz = esSz + OPAQUE16_LEN;
3395433954
3395533955 CHECK_RET(ret, AllocKey(ssl, DYNAMIC_TYPE_DH,
@@ -33986,7 +33986,7 @@ int SendClientKeyExchange(WOLFSSL* ssl)
3398633986 if (esSz > MAX_PSK_ID_LEN) {
3398733987 ERROR_OUT(CLIENT_ID_ERROR, exit_scke);
3398833988 }
33989- if (esSz > MAX_ENCRYPT_SZ - OPAQUE16_LEN) {
33989+ if (esSz > MAX_ENCRYPT_SZ - OPAQUE16_LEN - OPAQUE8_LEN ) {
3399033990 ERROR_OUT(CLIENT_ID_ERROR, exit_scke);
3399133991 }
3399233992 /* CLIENT: Pre-shared Key for peer authentication. */
@@ -33998,7 +33998,8 @@ int SendClientKeyExchange(WOLFSSL* ssl)
3399833998 XMEMCPY(args->output, ssl->arrays->client_identity, esSz);
3399933999 args->output += esSz;
3400034000
34001- args->length = args->encSz - esSz - OPAQUE16_LEN;
34001+ args->length =
34002+ args->encSz - esSz - OPAQUE16_LEN - OPAQUE8_LEN;
3400234003 args->encSz = esSz + OPAQUE16_LEN;
3400334004
3400434005 /* Create shared ECC key leaving room at the beginning
0 commit comments