Skip to content
Permalink
Browse files

crypto: remove DiffieHellman.initialised_

As pointed out by Ben Noordhuis, this internal field can be removed
since all instances are initialized when exposed to users.

PR-URL: #23717
Refs: #23648
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
  • Loading branch information...
tniessen authored and jasnell committed Oct 17, 2018
1 parent 1ad660b commit f4d1d9cb3101a7b95ea5c465018b7fa75efab1d4
Showing with 3 additions and 22 deletions.
  1. +3 −20 src/node_crypto.cc
  2. +0 −2 src/node_crypto.h
@@ -3974,11 +3974,7 @@ bool DiffieHellman::Init(int primeLength, int g) {
dh_.reset(DH_new());
if (!DH_generate_parameters_ex(dh_.get(), primeLength, g, 0))
return false;
bool result = VerifyContext();
if (!result)
return false;
initialised_ = true;
return true;
return VerifyContext();
}


@@ -3993,11 +3989,7 @@ bool DiffieHellman::Init(const char* p, int p_len, int g) {
BN_free(bn_g);
return false;
}
bool result = VerifyContext();
if (!result)
return false;
initialised_ = true;
return true;
return VerifyContext();
}


@@ -4010,11 +4002,7 @@ bool DiffieHellman::Init(const char* p, int p_len, const char* g, int g_len) {
BN_free(bn_g);
return false;
}
bool result = VerifyContext();
if (!result)
return false;
initialised_ = true;
return true;
return VerifyContext();
}


@@ -4088,7 +4076,6 @@ void DiffieHellman::GenerateKeys(const FunctionCallbackInfo<Value>& args) {

DiffieHellman* diffieHellman;
ASSIGN_OR_RETURN_UNWRAP(&diffieHellman, args.Holder());
CHECK(diffieHellman->initialised_);

if (!DH_generate_key(diffieHellman->dh_.get())) {
return ThrowCryptoError(env, ERR_get_error(), "Key generation failed");
@@ -4110,7 +4097,6 @@ void DiffieHellman::GetField(const FunctionCallbackInfo<Value>& args,

DiffieHellman* dh;
ASSIGN_OR_RETURN_UNWRAP(&dh, args.Holder());
CHECK(dh->initialised_);

const BIGNUM* num = get_field(dh->dh_.get());
if (num == nullptr) return env->ThrowError(err_if_null);
@@ -4162,7 +4148,6 @@ void DiffieHellman::ComputeSecret(const FunctionCallbackInfo<Value>& args) {

DiffieHellman* diffieHellman;
ASSIGN_OR_RETURN_UNWRAP(&diffieHellman, args.Holder());
CHECK(diffieHellman->initialised_);

ClearErrorOnReturn clear_error_on_return;

@@ -4230,7 +4215,6 @@ void DiffieHellman::SetKey(const v8::FunctionCallbackInfo<Value>& args,

DiffieHellman* dh;
ASSIGN_OR_RETURN_UNWRAP(&dh, args.Holder());
CHECK(dh->initialised_);

char errmsg[64];

@@ -4276,7 +4260,6 @@ void DiffieHellman::VerifyErrorGetter(const FunctionCallbackInfo<Value>& args) {

DiffieHellman* diffieHellman;
ASSIGN_OR_RETURN_UNWRAP(&diffieHellman, args.Holder());
CHECK(diffieHellman->initialised_);

args.GetReturnValue().Set(diffieHellman->verifyError_);
}
@@ -614,7 +614,6 @@ class DiffieHellman : public BaseObject {

DiffieHellman(Environment* env, v8::Local<v8::Object> wrap)
: BaseObject(env, wrap),
initialised_(false),
verifyError_(0) {
MakeWeak();
}
@@ -632,7 +631,6 @@ class DiffieHellman : public BaseObject {
int (*set_field)(DH*, BIGNUM*), const char* what);
bool VerifyContext();

bool initialised_;
int verifyError_;
DHPointer dh_;
};

0 comments on commit f4d1d9c

Please sign in to comment.
You can’t perform that action at this time.