summaryrefslogtreecommitdiffstats
path: root/lib/libssl/tls13_key_schedule.c
diff options
context:
space:
mode:
authorjsing <jsing@openbsd.org>2018-11-10 01:34:02 +0000
committerjsing <jsing@openbsd.org>2018-11-10 01:34:02 +0000
commit4717c1a80d4859f335cb17b99aadc5c6cc477cf6 (patch)
tree7015986ad39b15a01ae7b75a2ae7656cc157eaf3 /lib/libssl/tls13_key_schedule.c
parentStop keeping track of sigalgs by guessing it from digest and pkey, (diff)
downloadwireguard-openbsd-4717c1a80d4859f335cb17b99aadc5c6cc477cf6.tar.xz
wireguard-openbsd-4717c1a80d4859f335cb17b99aadc5c6cc477cf6.zip
Avoid a double allocation and memory leak.
Reported by Ben L <bobsayshilol at live dot co dot uk>
Diffstat (limited to 'lib/libssl/tls13_key_schedule.c')
-rw-r--r--lib/libssl/tls13_key_schedule.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/lib/libssl/tls13_key_schedule.c b/lib/libssl/tls13_key_schedule.c
index 25c183fbb04..af273d6d27e 100644
--- a/lib/libssl/tls13_key_schedule.c
+++ b/lib/libssl/tls13_key_schedule.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: tls13_key_schedule.c,v 1.5 2018/11/10 00:18:25 beck Exp $ */
+/* $OpenBSD: tls13_key_schedule.c,v 1.6 2018/11/10 01:34:02 jsing Exp $ */
/* Copyright (c) 2018, Bob Beck <beck@openbsd.org>
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -80,6 +80,7 @@ tls13_secrets_create(const EVP_MD *digest, int resumption)
if ((secrets = calloc(1, sizeof(struct tls13_secrets))) == NULL)
goto err;
+
if ((secrets->zeros.data = calloc(hash_length, sizeof(uint8_t))) ==
NULL)
goto err;
@@ -108,9 +109,6 @@ tls13_secrets_create(const EVP_MD *digest, int resumption)
if ((secrets->extracted_handshake.data = malloc(hash_length)) == NULL)
goto err;
secrets->extracted_handshake.len = hash_length;
- if ((secrets->extracted_handshake.data = malloc(hash_length)) == NULL)
- goto err;
- secrets->extracted_handshake.len = hash_length;
if ((secrets->client_handshake_traffic.data = malloc(hash_length))
== NULL)
goto err;