From 46286d9a727dd634a64d46c88a55ebaa428b0b24 Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Fri, 3 Jul 2020 13:24:11 +0200 Subject: [PATCH] src: add encoding_type variable in WritePrivateKey This commit adds a local variable named encoding_type which is set to the value of the Maybe using ToChecked(). The motivation for this is the code for ToChecked() could be executed multiple times depending on path taken at runtime. I also think this improves readability, or at least it is as readable as before this change. --- src/node_crypto.cc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/node_crypto.cc b/src/node_crypto.cc index e34b27b166c5d3..94dc87d56040dc 100644 --- a/src/node_crypto.cc +++ b/src/node_crypto.cc @@ -3151,7 +3151,8 @@ static MaybeLocal WritePrivateKey( bool err; - if (config.type_.ToChecked() == kKeyEncodingPKCS1) { + PKEncodingType encoding_type = config.type_.ToChecked(); + if (encoding_type == kKeyEncodingPKCS1) { // PKCS#1 is only permitted for RSA keys. CHECK_EQ(EVP_PKEY_id(pkey), EVP_PKEY_RSA); @@ -3171,7 +3172,7 @@ static MaybeLocal WritePrivateKey( CHECK_NULL(config.cipher_); err = i2d_RSAPrivateKey_bio(bio.get(), rsa.get()) != 1; } - } else if (config.type_.ToChecked() == kKeyEncodingPKCS8) { + } else if (encoding_type == kKeyEncodingPKCS8) { if (config.format_ == kKeyFormatPEM) { // Encode PKCS#8 as PEM. err = PEM_write_bio_PKCS8PrivateKey( @@ -3191,7 +3192,7 @@ static MaybeLocal WritePrivateKey( nullptr, nullptr) != 1; } } else { - CHECK_EQ(config.type_.ToChecked(), kKeyEncodingSEC1); + CHECK_EQ(encoding_type, kKeyEncodingSEC1); // SEC1 is only permitted for EC keys. CHECK_EQ(EVP_PKEY_id(pkey), EVP_PKEY_EC);