diff options
author | jsing <> | 2020-02-04 18:00:30 +0000 |
---|---|---|
committer | jsing <> | 2020-02-04 18:00:30 +0000 |
commit | 88fc0f8ee84226b57ab0897b6baf5f041316d06b (patch) | |
tree | c0d25379297742e831e6c69508d70f40f82fe792 /src | |
parent | 3020fa47b6e399e64bc62ca3cafa3483226f3cea (diff) | |
download | openbsd-88fc0f8ee84226b57ab0897b6baf5f041316d06b.tar.gz openbsd-88fc0f8ee84226b57ab0897b6baf5f041316d06b.tar.bz2 openbsd-88fc0f8ee84226b57ab0897b6baf5f041316d06b.zip |
Free the transcript as soon as we initialise the transcript hash.
Unlike TLSv1.2 there is only a single hash in use, hence as soon as we
know what the hash is and have initialised the transcript hash, we can
free the transcript buffers.
ok inoguchi@ tb@
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/libssl/tls13_client.c | 3 | ||||
-rw-r--r-- | src/lib/libssl/tls13_server.c | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/lib/libssl/tls13_client.c b/src/lib/libssl/tls13_client.c index 69e75558dc..78f46bd859 100644 --- a/src/lib/libssl/tls13_client.c +++ b/src/lib/libssl/tls13_client.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: tls13_client.c,v 1.39 2020/01/30 17:09:23 jsing Exp $ */ | 1 | /* $OpenBSD: tls13_client.c,v 1.40 2020/02/04 18:00:30 jsing Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2018, 2019 Joel Sing <jsing@openbsd.org> | 3 | * Copyright (c) 2018, 2019 Joel Sing <jsing@openbsd.org> |
4 | * | 4 | * |
@@ -435,6 +435,7 @@ tls13_server_hello_recv(struct tls13_ctx *ctx, CBS *cbs) | |||
435 | /* XXX - pass in hash. */ | 435 | /* XXX - pass in hash. */ |
436 | if (!tls1_transcript_hash_init(s)) | 436 | if (!tls1_transcript_hash_init(s)) |
437 | goto err; | 437 | goto err; |
438 | tls1_transcript_free(s); | ||
438 | if (!tls1_transcript_hash_value(s, buf, sizeof(buf), &hash_len)) | 439 | if (!tls1_transcript_hash_value(s, buf, sizeof(buf), &hash_len)) |
439 | goto err; | 440 | goto err; |
440 | context.data = buf; | 441 | context.data = buf; |
diff --git a/src/lib/libssl/tls13_server.c b/src/lib/libssl/tls13_server.c index 1f17fe4ab0..660508a121 100644 --- a/src/lib/libssl/tls13_server.c +++ b/src/lib/libssl/tls13_server.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: tls13_server.c,v 1.22 2020/01/30 17:09:23 jsing Exp $ */ | 1 | /* $OpenBSD: tls13_server.c,v 1.23 2020/02/04 18:00:30 jsing Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2019, 2020 Joel Sing <jsing@openbsd.org> | 3 | * Copyright (c) 2019, 2020 Joel Sing <jsing@openbsd.org> |
4 | * Copyright (c) 2020 Bob Beck <beck@openbsd.org> | 4 | * Copyright (c) 2020 Bob Beck <beck@openbsd.org> |
@@ -586,6 +586,7 @@ tls13_server_hello_sent(struct tls13_ctx *ctx) | |||
586 | /* XXX - pass in hash. */ | 586 | /* XXX - pass in hash. */ |
587 | if (!tls1_transcript_hash_init(s)) | 587 | if (!tls1_transcript_hash_init(s)) |
588 | goto err; | 588 | goto err; |
589 | tls1_transcript_free(s); | ||
589 | if (!tls1_transcript_hash_value(s, buf, sizeof(buf), &hash_len)) | 590 | if (!tls1_transcript_hash_value(s, buf, sizeof(buf), &hash_len)) |
590 | goto err; | 591 | goto err; |
591 | context.data = buf; | 592 | context.data = buf; |