summaryrefslogtreecommitdiffstats
path: root/ssl
diff options
context:
space:
mode:
authorHugo Landau <hlandau@openssl.org>2022-11-30 08:01:58 +0000
committerHugo Landau <hlandau@openssl.org>2023-01-13 13:20:20 +0000
commite28f512f045b91d4c52b8b9f2ea0800b24203a76 (patch)
treea3ef60ab94afa3af18c38b22a0aead5b97fd765b /ssl
parentd50e750e13f5a8f615da56ee73ddbd1a23007ebe (diff)
QUIC CHANNEL: Minor cleanups and bug fix
Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/19703)
Diffstat (limited to 'ssl')
-rw-r--r--ssl/quic/quic_channel.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/ssl/quic/quic_channel.c b/ssl/quic/quic_channel.c
index 87406f4ee3..df4ea8385d 100644
--- a/ssl/quic/quic_channel.c
+++ b/ssl/quic/quic_channel.c
@@ -525,7 +525,7 @@ static int ch_on_handshake_yield_secret(uint32_t enc_level, int direction,
* data.
*/
for (i = QUIC_ENC_LEVEL_INITIAL; i < enc_level; ++i)
- if (!crypto_ensure_empty(ch->crypto_recv[i])) {
+ if (!crypto_ensure_empty(ch->crypto_recv[ossl_quic_enc_level_to_pn_space(i)])) {
/* Protocol violation (RFC 9001 s. 4.1.3) */
ossl_quic_channel_raise_protocol_error(ch, QUIC_ERR_PROTOCOL_VIOLATION,
OSSL_QUIC_FRAME_TYPE_CRYPTO,
@@ -549,7 +549,7 @@ static int ch_on_handshake_complete(void *arg)
{
QUIC_CHANNEL *ch = arg;
- if (ch->handshake_complete)
+ if (!ossl_assert(!ch->handshake_complete))
return 0; /* this should not happen twice */
if (!ossl_assert(ch->tx_enc_level == QUIC_ENC_LEVEL_1RTT))
@@ -1422,11 +1422,9 @@ static int ch_retry(QUIC_CHANNEL *ch,
* Now we retry. We will release the Retry packet immediately, so copy
* the token.
*/
- if ((buf = OPENSSL_malloc(retry_token_len)) == NULL)
+ if ((buf = OPENSSL_memdup(retry_token, retry_token_len)) == NULL)
return 0;
- memcpy(buf, retry_token, retry_token_len);
-
ossl_quic_tx_packetiser_set_initial_token(ch->txp, buf, retry_token_len,
free_token, NULL);