]> granicus.if.org Git - php/commitdiff
Do not use X509_EXTENSION data directly as it is opaque
authorJakub Zelenka <bukka@php.net>
Tue, 1 Mar 2016 20:08:47 +0000 (20:08 +0000)
committerJakub Zelenka <bukka@php.net>
Sun, 17 Jul 2016 16:33:42 +0000 (17:33 +0100)
ext/openssl/openssl.c

index e794908aca9186713e0a16126db56dc37a7a7cc4..fa63fb4e4c23870eaf83b375ca7c935d317c5f5e 100644 (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)));