Skip to content

Commit 623e4da

Browse files
committed
fix comp. warnings
1 parent 0d46db5 commit 623e4da

2 files changed

Lines changed: 23 additions & 7 deletions

File tree

contrib/win32/win32compat/signal_sigalrm.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ sigalrm_APC(_In_opt_ LPVOID lpArgToCompletionRoutine,
4545
}
4646

4747
unsigned int
48-
w32_alarm(unsigned int sec)
48+
w32_alarm(long long sec)
4949
{
5050
LARGE_INTEGER due;
5151
ULONGLONG sec_passed;

ssh-pkcs11-client.c

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -593,15 +593,31 @@ ecdsa_do_finish(EC_KEY *ec)
593593
#ifdef WINDOWS
594594

595595
static void
596-
wrap_key(struct sshkey *k)
596+
wrap_key(struct sshkey* k)
597597
{
598-
if (k->type == KEY_RSA)
599-
RSA_set_method(k->pkey, helper_rsa);
598+
RSA* rsa = NULL;
599+
EC_KEY* ecdsa = NULL;
600+
601+
if (k->type == KEY_RSA) {
602+
if ((rsa = EVP_PKEY_get1_RSA(k->pkey)) == NULL)
603+
fatal_f("no RSA key");
604+
if (RSA_set_method(rsa, helper_rsa) != 1)
605+
fatal_f("RSA_set_method failed");
606+
if (EVP_PKEY_set1_RSA(k->pkey, rsa) != 1)
607+
fatal_f("EVP_PKEY_set1_RSA failed");
608+
RSA_free(rsa);
600609
#if defined(OPENSSL_HAS_ECC) && defined(HAVE_EC_KEY_METHOD_NEW)
601-
else if (k->type == KEY_ECDSA)
602-
EC_KEY_set_method(k->pkey, helper_ecdsa);
610+
}
611+
else if (k->type == KEY_ECDSA) {
612+
if ((ecdsa = EVP_PKEY_get1_EC_KEY(k->pkey)) == NULL)
613+
fatal_f("no ECDSA key");
614+
if (EC_KEY_set_method(ecdsa, helper_ecdsa) != 1)
615+
fatal_f("EC_KEY_set_method failed");
616+
if (EVP_PKEY_set1_EC_KEY(k->pkey, ecdsa) != 1)
617+
fatal_f("EVP_PKEY_set1_EC_KEY failed");
618+
EC_KEY_free(ecdsa);
603619
#endif /* OPENSSL_HAS_ECC && HAVE_EC_KEY_METHOD_NEW */
604-
else
620+
} else
605621
fatal_f("unknown key type");
606622
}
607623

0 commit comments

Comments
 (0)