@@ -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