Skip to content

Commit 166ed81

Browse files
fixing bad state for ech->type
1 parent 98a0f92 commit 166ed81

1 file changed

Lines changed: 8 additions & 4 deletions

File tree

src/tls13.c

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4874,8 +4874,10 @@ int SendTls13ClientHello(WOLFSSL* ssl)
48744874
args->ech->innerClientHello =
48754875
(byte*)XMALLOC(args->ech->innerClientHelloLen - args->ech->hpke->Nt,
48764876
ssl->heap, DYNAMIC_TYPE_TMP_BUFFER);
4877-
if (args->ech->innerClientHello == NULL)
4877+
if (args->ech->innerClientHello == NULL) {
4878+
args->ech->type = ECH_TYPE_OUTER;
48784879
return MEMORY_E;
4880+
}
48794881
/* set the padding bytes to 0 */
48804882
XMEMSET(args->ech->innerClientHello + args->ech->innerClientHelloLen -
48814883
args->ech->hpke->Nt - args->ech->paddingLen, 0,
@@ -4898,8 +4900,10 @@ int SendTls13ClientHello(WOLFSSL* ssl)
48984900
/* change the outer client random */
48994901
ret = wc_RNG_GenerateBlock(ssl->rng, args->output +
49004902
args->clientRandomOffset, RAN_LEN);
4901-
if (ret != 0)
4903+
if (ret != 0) {
4904+
args->ech->type = ECH_TYPE_OUTER;
49024905
return ret;
4906+
}
49034907
/* copy the new client random */
49044908
XMEMCPY(ssl->arrays->clientRandom, args->output +
49054909
args->clientRandomOffset, RAN_LEN);
@@ -4908,10 +4912,10 @@ int SendTls13ClientHello(WOLFSSL* ssl)
49084912
ret = TLSX_WriteRequest(ssl, args->ech->innerClientHello + args->idx -
49094913
(RECORD_HEADER_SZ + HANDSHAKE_HEADER_SZ), client_hello,
49104914
&args->length);
4915+
/* set the type to outer */
4916+
args->ech->type = ECH_TYPE_OUTER;
49114917
if (ret != 0)
49124918
return ret;
4913-
/* set the type to outer */
4914-
args->ech->type = 0;
49154919
}
49164920
#endif
49174921

0 commit comments

Comments
 (0)