crypto: use X509V3_EXT_d2i

There is no need to reach into quite so many internals to decode an
extension.

PR-URL: https://github.com/nodejs/node/pull/15348
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
This commit is contained in:
David Benjamin 2017-09-11 17:24:35 -04:00 committed by Ruben Bridgewater
parent c51e0e97cc
commit 9af9bcbaf5
No known key found for this signature in database
GPG Key ID: F07496B3EB3C1762

View File

@ -1477,12 +1477,7 @@ static bool SafeX509ExtPrint(BIO* out, X509_EXTENSION* ext) {
if (method != X509V3_EXT_get_nid(NID_subject_alt_name))
return false;
const unsigned char* p = ext->value->data;
GENERAL_NAMES* names = reinterpret_cast<GENERAL_NAMES*>(ASN1_item_d2i(
NULL,
&p,
ext->value->length,
ASN1_ITEM_ptr(method->it)));
GENERAL_NAMES* names = static_cast<GENERAL_NAMES*>(X509V3_EXT_d2i(ext));
if (names == NULL)
return false;