This bug is present in both 0.9.7 and 0.9.8 branches. Function
X509v3_get_ext_by_critical() implemented in crypto/x509/x509_v3.c returns
only critical extensions regardless of the value of the second parameter
crit. The problem is in the following statement (line 118):

if (    ((ex->critical > 0) && crit) ||
        (!(ex->critical <= 0) && !crit))
        return(lastpos);
}

I believe that it was meant to be:

if (    ((ex->critical > 0) && crit) ||
        ((ex->critical <= 0) && !crit))
        return(lastpos);
}

-- 

Ville Hallik

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to