summaryrefslogtreecommitdiff
path: root/kexgexc.c
diff options
context:
space:
mode:
authorjsing@openbsd.org <jsing@openbsd.org>2018-02-07 02:06:50 +0000
committerDarren Tucker <dtucker@dtucker.net>2018-02-08 09:26:27 +1100
commit7cd31632e3a6607170ed0c9ed413a7ded5b9b377 (patch)
tree2acf74a8e668468768bdf9fe1b48d2289b3299bb /kexgexc.c
parent3c000d57d46882eb736c6563edfc4995915c24a2 (diff)
upstream commit
Remove all guards for calls to OpenSSL free functions - all of these functions handle NULL, from at least OpenSSL 1.0.1g onwards. Prompted by dtucker@ asking about guards for RSA_free(), when looking at openssh-portable pr#84 on github. ok deraadt@ dtucker@ OpenBSD-Commit-ID: 954f1c51b94297d0ae1f749271e184141e0cadae
Diffstat (limited to 'kexgexc.c')
-rw-r--r--kexgexc.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/kexgexc.c b/kexgexc.c
index 6f8cf48a6..762a9a322 100644
--- a/kexgexc.c
+++ b/kexgexc.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: kexgexc.c,v 1.26 2017/12/18 02:25:15 djm Exp $ */ 1/* $OpenBSD: kexgexc.c,v 1.27 2018/02/07 02:06:51 jsing Exp $ */
2/* 2/*
3 * Copyright (c) 2000 Niels Provos. All rights reserved. 3 * Copyright (c) 2000 Niels Provos. All rights reserved.
4 * Copyright (c) 2001 Markus Friedl. All rights reserved. 4 * Copyright (c) 2001 Markus Friedl. All rights reserved.
@@ -134,10 +134,8 @@ input_kex_dh_gex_group(int type, u_int32_t seq, struct ssh *ssh)
134 ssh_dispatch_set(ssh, SSH2_MSG_KEX_DH_GEX_REPLY, &input_kex_dh_gex_reply); 134 ssh_dispatch_set(ssh, SSH2_MSG_KEX_DH_GEX_REPLY, &input_kex_dh_gex_reply);
135 r = 0; 135 r = 0;
136out: 136out:
137 if (p) 137 BN_clear_free(p);
138 BN_clear_free(p); 138 BN_clear_free(g);
139 if (g)
140 BN_clear_free(g);
141 return r; 139 return r;
142} 140}
143 141
@@ -250,14 +248,12 @@ input_kex_dh_gex_reply(int type, u_int32_t seq, struct ssh *ssh)
250 explicit_bzero(hash, sizeof(hash)); 248 explicit_bzero(hash, sizeof(hash));
251 DH_free(kex->dh); 249 DH_free(kex->dh);
252 kex->dh = NULL; 250 kex->dh = NULL;
253 if (dh_server_pub) 251 BN_clear_free(dh_server_pub);
254 BN_clear_free(dh_server_pub);
255 if (kbuf) { 252 if (kbuf) {
256 explicit_bzero(kbuf, klen); 253 explicit_bzero(kbuf, klen);
257 free(kbuf); 254 free(kbuf);
258 } 255 }
259 if (shared_secret) 256 BN_clear_free(shared_secret);
260 BN_clear_free(shared_secret);
261 sshkey_free(server_host_key); 257 sshkey_free(server_host_key);
262 free(server_host_key_blob); 258 free(server_host_key_blob);
263 free(signature); 259 free(signature);