Hello,

I discovered a small bug in X509_check_private_key.

EVP_PKEY *X509_get_pubkey(X509 *x)
        {
        if ((x == NULL) || (x->cert_info == NULL))
                return(NULL);
        return(X509_PUBKEY_get(x->cert_info->key));
        }

int X509_check_private_key(X509 *x, EVP_PKEY *k)
        {
        EVP_PKEY *xk=NULL;
        int ok=0;

-->     xk=X509_get_pubkey(x); <--- the problem
        if (xk->type != k->type)
            {

If this function is called with x set to NULL, it it will crash, because
xk is not checked for NULLs.

Regards,
Maas-Maarten Zeeman
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to