From a29ea9493e3fffec71884a61808d2e634579001c Mon Sep 17 00:00:00 2001 From: jsing <> Date: Fri, 14 Apr 2017 15:26:53 +0000 Subject: Use freezero(3) to clean up the X25519 keys - simpler, cleaner code. --- src/lib/libssl/ssl_srvr.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'src/lib') diff --git a/src/lib/libssl/ssl_srvr.c b/src/lib/libssl/ssl_srvr.c index aae7275998..31b869e552 100644 --- a/src/lib/libssl/ssl_srvr.c +++ b/src/lib/libssl/ssl_srvr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssl_srvr.c,v 1.12 2017/04/14 15:19:39 jsing Exp $ */ +/* $OpenBSD: ssl_srvr.c,v 1.13 2017/04/14 15:26:53 jsing Exp $ */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * @@ -1989,8 +1989,7 @@ ssl3_get_client_kex_ecdhe_ecx(SSL *s, unsigned char *p, long n) if (!X25519(shared_key, S3I(s)->tmp.x25519, CBS_data(&ecpoint))) goto err; - explicit_bzero(S3I(s)->tmp.x25519, X25519_KEY_LENGTH); - free(S3I(s)->tmp.x25519); + freezero(S3I(s)->tmp.x25519, X25519_KEY_LENGTH); S3I(s)->tmp.x25519 = NULL; s->session->master_key_length = @@ -2000,9 +1999,7 @@ ssl3_get_client_kex_ecdhe_ecx(SSL *s, unsigned char *p, long n) ret = 1; err: - if (shared_key != NULL) - explicit_bzero(shared_key, X25519_KEY_LENGTH); - free(shared_key); + freezero(shared_key, X25519_KEY_LENGTH); return (ret); } -- cgit v1.2.3-55-g6feb