Commit c2976edf authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

Don't ignore passed ENGINE.



If we are passed an ENGINE to use in int_ctx_new e.g. via EVP_PKEY_CTX_new()
use it instead of the default.

Reviewed-by: default avatarMatt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/4503)
parent e913d11f
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -105,7 +105,7 @@ static EVP_PKEY_CTX *int_ctx_new(EVP_PKEY *pkey, ENGINE *e, int id)
        id = pkey->ameth->pkey_id;
    }
#ifndef OPENSSL_NO_ENGINE
    if (pkey && pkey->engine)
    if (e == NULL && pkey != NULL)
        e = pkey->engine;
    /* Try to find an ENGINE which implements this method */
    if (e) {
@@ -113,8 +113,9 @@ static EVP_PKEY_CTX *int_ctx_new(EVP_PKEY *pkey, ENGINE *e, int id)
            EVPerr(EVP_F_INT_CTX_NEW, ERR_R_ENGINE_LIB);
            return NULL;
        }
    } else
    } else {
        e = ENGINE_get_pkey_meth_engine(id);
    }

    /*
     * If an ENGINE handled this method look it up. Otherwise use internal