Do not use X509_EXTENSION data directly as it is opaque

This commit is contained in:
Jakub Zelenka 2016-03-01 20:08:47 +00:00
parent 84a291d4da
commit e138b51dad

View file

@ -2053,6 +2053,7 @@ static int openssl_x509v3_subjectAltName(BIO *bio, X509_EXTENSION *extension)
{
GENERAL_NAMES *names;
const X509V3_EXT_METHOD *method = NULL;
ASN1_OCTET_STRING *extension_data;
long i, length, num;
const unsigned char *p;
@ -2061,8 +2062,9 @@ static int openssl_x509v3_subjectAltName(BIO *bio, X509_EXTENSION *extension)
return -1;
}
p = extension->value->data;
length = extension->value->length;
extension_data = X509_EXTENSION_get_data(extension);
p = extension_data->data;
length = extension_data->length;
if (method->it) {
names = (GENERAL_NAMES*) (ASN1_item_d2i(NULL, &p, length,
ASN1_ITEM_ptr(method->it)));