diff options
author | 2018-11-10 01:34:02 +0000 | |
---|---|---|
committer | 2018-11-10 01:34:02 +0000 | |
commit | 4717c1a80d4859f335cb17b99aadc5c6cc477cf6 (patch) | |
tree | 7015986ad39b15a01ae7b75a2ae7656cc157eaf3 /lib/libssl/tls13_key_schedule.c | |
parent | Stop keeping track of sigalgs by guessing it from digest and pkey, (diff) | |
download | wireguard-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.c | 6 |
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; |