diff options
Diffstat (limited to 'kexecdhs.c')
-rw-r--r-- | kexecdhs.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/kexecdhs.c b/kexecdhs.c index dc24a3af6..af4f30309 100644 --- a/kexecdhs.c +++ b/kexecdhs.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: kexecdhs.c,v 1.16 2017/05/30 14:23:52 markus Exp $ */ | 1 | /* $OpenBSD: kexecdhs.c,v 1.17 2018/02/07 02:06:51 jsing Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2001 Markus Friedl. All rights reserved. | 3 | * Copyright (c) 2001 Markus Friedl. All rights reserved. |
4 | * Copyright (c) 2010 Damien Miller. All rights reserved. | 4 | * Copyright (c) 2010 Damien Miller. All rights reserved. |
@@ -187,18 +187,14 @@ input_kex_ecdh_init(int type, u_int32_t seq, struct ssh *ssh) | |||
187 | r = kex_send_newkeys(ssh); | 187 | r = kex_send_newkeys(ssh); |
188 | out: | 188 | out: |
189 | explicit_bzero(hash, sizeof(hash)); | 189 | explicit_bzero(hash, sizeof(hash)); |
190 | if (kex->ec_client_key) { | 190 | EC_KEY_free(kex->ec_client_key); |
191 | EC_KEY_free(kex->ec_client_key); | 191 | kex->ec_client_key = NULL; |
192 | kex->ec_client_key = NULL; | 192 | EC_KEY_free(server_key); |
193 | } | ||
194 | if (server_key) | ||
195 | EC_KEY_free(server_key); | ||
196 | if (kbuf) { | 193 | if (kbuf) { |
197 | explicit_bzero(kbuf, klen); | 194 | explicit_bzero(kbuf, klen); |
198 | free(kbuf); | 195 | free(kbuf); |
199 | } | 196 | } |
200 | if (shared_secret) | 197 | BN_clear_free(shared_secret); |
201 | BN_clear_free(shared_secret); | ||
202 | free(server_host_key_blob); | 198 | free(server_host_key_blob); |
203 | free(signature); | 199 | free(signature); |
204 | return r; | 200 | return r; |