From 6672dca8876c05e12dec8e4aece109bd114155c3 Mon Sep 17 00:00:00 2001 From: Adam Majer Date: Wed, 21 Dec 2016 11:16:38 +0100 Subject: [PATCH] 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 Reviewed-By: James M Snell Reviewed-By: Fedor Indutny --- src/node_crypto.cc | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/node_crypto.cc b/src/node_crypto.cc index c30e78e68f1..b53ed246888 100644 --- a/src/node_crypto.cc +++ b/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* root_certs_vector; +std::vector root_certs_vector; // Just to generate static methods template class SSLWrap; @@ -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; - + 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); }