From be4fa1561c45b4bddcbc9269f62bda323feefa75 Mon Sep 17 00:00:00 2001 From: jsing <> Date: Sat, 10 Nov 2018 01:34:02 +0000 Subject: Avoid a double allocation and memory leak. Reported by Ben L --- src/lib/libssl/tls13_key_schedule.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/lib/libssl/tls13_key_schedule.c b/src/lib/libssl/tls13_key_schedule.c index 25c183fbb0..af273d6d27 100644 --- a/src/lib/libssl/tls13_key_schedule.c +++ b/src/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 * * 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; -- cgit v1.2.3-55-g6feb