From 3e3d908c816d110740890bac332030e154c00738 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. PR-URL: https://github.com/nodejs/node/pull/34181 Reviewed-By: Anna Henningsen Reviewed-By: David Carlier --- 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 aace8e2c05e915..eae0f2e49d3c86 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);