diff --git a/lib/hcrypto/rsa.c b/lib/hcrypto/rsa.c index 63f8927a2..1c919325f 100644 --- a/lib/hcrypto/rsa.c +++ b/lib/hcrypto/rsa.c @@ -99,11 +99,13 @@ RSA_new_method(ENGINE *engine) rsa->engine = ENGINE_get_default_RSA(); } - rsa->meth = ENGINE_get_RSA(rsa->engine); - if (rsa->meth == NULL) { - ENGINE_finish(engine); - free(rsa); - return 0; + if (rsa->engine) { + rsa->meth = ENGINE_get_RSA(rsa->engine); + if (rsa->meth == NULL) { + ENGINE_finish(engine); + free(rsa); + return 0; + } } if (rsa->meth == NULL)