Browse Source

crypto: do not use pointers to std::vector

The pointer to std::vector is unnecessary, so replace it with standard
instance. Also, make the for() loop more readable by using actual type
instead of inferred - there is no readability benefit here from
obfuscating the type.

PR-URL: https://github.com/nodejs/node/pull/8334
Backport-PR-URL: https://github.com/nodejs/node/pull/11794
Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
v6.x
Adam Majer 8 years ago
committed by Myles Borins
parent
commit
bbfd2e309b
No known key found for this signature in database GPG Key ID: 933B01F40B5CA946
  1. 10
      src/node_crypto.cc

10
src/node_crypto.cc

@ -127,7 +127,7 @@ const char* const root_certs[] = {
std::string extra_root_certs_file; // NOLINT(runtime/string)
X509_STORE* root_cert_store;
std::vector<X509*>* root_certs_vector;
std::vector<X509*> root_certs_vector;
// Just to generate static methods
template class SSLWrap<TLSWrap>;
@ -694,9 +694,7 @@ static int X509_up_ref(X509* cert) {
static X509_STORE* NewRootCertStore() {
if (!root_certs_vector) {
root_certs_vector = new std::vector<X509*>;
if (root_certs_vector.empty()) {
for (size_t i = 0; i < arraysize(root_certs); i++) {
BIO* bp = NodeBIO::NewFixed(root_certs[i], strlen(root_certs[i]));
X509 *x509 = PEM_read_bio_X509(bp, nullptr, CryptoPemCallback, nullptr);
@ -705,12 +703,12 @@ static X509_STORE* NewRootCertStore() {
// Parse errors from the built-in roots are fatal.
CHECK_NE(x509, nullptr);
root_certs_vector->push_back(x509);
root_certs_vector.push_back(x509);
}
}
X509_STORE* store = X509_STORE_new();
for (auto& cert : *root_certs_vector) {
for (X509 *cert : root_certs_vector) {
X509_up_ref(cert);
X509_STORE_add_cert(store, cert);
}

Loading…
Cancel
Save