diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2015-03-15 13:43:56 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2015-03-23 18:27:04 +0000 |
commit | 4903abd50a8e86ac6bf9f0c6a54cec54d9fc3120 (patch) | |
tree | 0e45c8fcce70d2e7c76925ad6e88310972909d00 /crypto/x509v3/v3_lib.c | |
parent | c7f5b5d7bc462ca9dd5fc391e25c00a691960017 (diff) | |
download | openssl-new-4903abd50a8e86ac6bf9f0c6a54cec54d9fc3120.tar.gz |
make X509_EXTENSION opaque
Reviewed-by: Rich Salz <rsalz@openssl.org>
Diffstat (limited to 'crypto/x509v3/v3_lib.c')
-rw-r--r-- | crypto/x509v3/v3_lib.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/crypto/x509v3/v3_lib.c b/crypto/x509v3/v3_lib.c index 90ddd86f40..7e3e984cf6 100644 --- a/crypto/x509v3/v3_lib.c +++ b/crypto/x509v3/v3_lib.c @@ -117,7 +117,7 @@ const X509V3_EXT_METHOD *X509V3_EXT_get_nid(int nid) const X509V3_EXT_METHOD *X509V3_EXT_get(X509_EXTENSION *ext) { int nid; - if ((nid = OBJ_obj2nid(ext->object)) == NID_undef) + if ((nid = OBJ_obj2nid(X509_EXTENSION_get_object(ext))) == NID_undef) return NULL; return X509V3_EXT_get_nid(nid); } @@ -180,14 +180,17 @@ void *X509V3_EXT_d2i(X509_EXTENSION *ext) { const X509V3_EXT_METHOD *method; const unsigned char *p; + ASN1_STRING *extvalue; + int extlen; if (!(method = X509V3_EXT_get(ext))) return NULL; - p = ext->value->data; + extvalue = X509_EXTENSION_get_data(ext); + p = ASN1_STRING_data(extvalue); + extlen = ASN1_STRING_length(extvalue); if (method->it) - return ASN1_item_d2i(NULL, &p, ext->value->length, - ASN1_ITEM_ptr(method->it)); - return method->d2i(NULL, &p, ext->value->length); + return ASN1_item_d2i(NULL, &p, extlen, ASN1_ITEM_ptr(method->it)); + return method->d2i(NULL, &p, extlen); } /*- @@ -226,7 +229,7 @@ void *X509V3_get_d2i(STACK_OF(X509_EXTENSION) *x, int nid, int *crit, lastpos = 0; for (i = lastpos; i < sk_X509_EXTENSION_num(x); i++) { ex = sk_X509_EXTENSION_value(x, i); - if (OBJ_obj2nid(ex->object) == nid) { + if (OBJ_obj2nid(X509_EXTENSION_get_object(ex)) == nid) { if (idx) { *idx = i; found_ex = ex; |