diff --git a/src/pki_crypto.c b/src/pki_crypto.c index 9a7c3e28..cbd2c784 100644 --- a/src/pki_crypto.c +++ b/src/pki_crypto.c @@ -345,13 +345,13 @@ ssh_key pki_key_dup(const ssh_key key, int demote) break; case SSH_KEYTYPE_ECDSA: #ifdef HAVE_OPENSSL_ECC + new->ecdsa_nid = key->ecdsa_nid; + /* privkey -> pubkey */ if (demote && ssh_key_is_private(key)) { const EC_POINT *p; int ok; - new->ecdsa_nid = key->ecdsa_nid; - new->ecdsa = EC_KEY_new_by_curve_name(key->ecdsa_nid); if (new->ecdsa == NULL) { goto fail;