summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CREDITS1
-rw-r--r--ChangeLog1
-rw-r--r--sshd.c9
3 files changed, 8 insertions, 3 deletions
diff --git a/CREDITS b/CREDITS
index 7ca3f788..8ed3d80c 100644
--- a/CREDITS
+++ b/CREDITS
@@ -33,6 +33,7 @@ Jim Knoble <jmknoble@pobox.com> - Many patches
jonchen (email unknown) - the original author of PAM support of SSH
Juergen Keil <jk@tools.de> - scp bugfixing
Kees Cook <cook@cpoint.net> - scp fixes
+Kevin O'Connor <kevin_oconnor@standardandpoors.com> - RSAless operation
Kiyokazu SUTO <suto@ks-and-ks.ne.jp> - Bugfixes
Lutz Jaenicke <Lutz.Jaenicke@aet.TU-Cottbus.DE> - Bugfixes
Marc G. Fournier <marc.fournier@acadiau.ca> - Solaris patches
diff --git a/ChangeLog b/ChangeLog
index 8cefa0fd..635bc244 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -31,6 +31,7 @@
- Solaris fixes
- Checking for ssize_t and memmove. Based on patch from SAKAI Kiyotaka
<ksakai@kso.netwk.ntt-at.co.jp>
+ - RSAless operation patch from kevin_oconnor@standardandpoors.com
20000513
- Fix for non-recognised DSA keys from Arkadiusz Miskiewicz
diff --git a/sshd.c b/sshd.c
index a13332cb..256018f6 100644
--- a/sshd.c
+++ b/sshd.c
@@ -389,9 +389,12 @@ void
destroy_sensitive_data(void)
{
/* Destroy the private and public keys. They will no longer be needed. */
- RSA_free(public_key);
- RSA_free(sensitive_data.private_key);
- RSA_free(sensitive_data.host_key);
+ if (public_key)
+ RSA_free(public_key);
+ if (sensitive_data.private_key)
+ RSA_free(sensitive_data.private_key);
+ if (sensitive_data.host_key)
+ RSA_free(sensitive_data.host_key);
if (sensitive_data.dsa_host_key != NULL)
key_free(sensitive_data.dsa_host_key);
}