aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/dh.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/dh.c b/src/dh.c
index 36e77d6f..34d4e907 100644
--- a/src/dh.c
+++ b/src/dh.c
@@ -686,11 +686,16 @@ int make_sessionid(ssh_session session) {
ssh_string_free(num);
#ifdef HAVE_ECDH
- } else if (session->next_crypto->kex_type == SSH_KEX_ECDH_SHA2_NISTP256){
+ } else if (session->next_crypto->kex_type == SSH_KEX_ECDH_SHA2_NISTP256){
+ if(session->next_crypto->ecdh_client_pubkey == NULL ||
+ session->next_crypto->ecdh_server_pubkey == NULL){
+ ssh_log(session,SSH_LOG_WARNING,"ECDH parameted missing");
+ goto error;
+ }
buffer_add_ssh_string(buf,session->next_crypto->ecdh_client_pubkey);
buffer_add_ssh_string(buf,session->next_crypto->ecdh_server_pubkey);
#endif
- }
+ }
num = make_bignum_string(session->next_crypto->k);
if (num == NULL) {
goto error;