summaryrefslogtreecommitdiff
path: root/sshd.c
diff options
context:
space:
mode:
Diffstat (limited to 'sshd.c')
-rw-r--r--sshd.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/sshd.c b/sshd.c
index a13332cbd..256018f61 100644
--- a/sshd.c
+++ b/sshd.c
@@ -389,9 +389,12 @@ void
389destroy_sensitive_data(void) 389destroy_sensitive_data(void)
390{ 390{
391 /* Destroy the private and public keys. They will no longer be needed. */ 391 /* Destroy the private and public keys. They will no longer be needed. */
392 RSA_free(public_key); 392 if (public_key)
393 RSA_free(sensitive_data.private_key); 393 RSA_free(public_key);
394 RSA_free(sensitive_data.host_key); 394 if (sensitive_data.private_key)
395 RSA_free(sensitive_data.private_key);
396 if (sensitive_data.host_key)
397 RSA_free(sensitive_data.host_key);
395 if (sensitive_data.dsa_host_key != NULL) 398 if (sensitive_data.dsa_host_key != NULL)
396 key_free(sensitive_data.dsa_host_key); 399 key_free(sensitive_data.dsa_host_key);
397} 400}