diff --git a/RSA.xs b/RSA.xs index 75cad1a..41bd247 100644 --- a/RSA.xs +++ b/RSA.xs @@ -657,9 +657,9 @@ _new_key_from_parameters(proto, n, e, d, p, q) int status = EVP_PKEY_fromdata(pctx, &rsa, EVP_PKEY_KEYPAIR, params); THROW( status > 0 && rsa != NULL ); EVP_PKEY_CTX* test_ctx = EVP_PKEY_CTX_new_from_pkey(NULL, rsa, NULL); - int check_ok = EVP_PKEY_check(test_ctx); + int check_ok = (test_ctx != NULL && EVP_PKEY_check(test_ctx) == 1); EVP_PKEY_CTX_free(test_ctx); - THROW(check_ok == 1); + THROW(check_ok); #else THROW(RSA_set0_crt_params(rsa, dmp1, dmq1, iqmp)); #endif