Skip to content

Commit

Permalink
crypto: remove DiffieHellman.initialised_
Browse files Browse the repository at this point in the history
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>
tniessen authored and jasnell committed Oct 21, 2018
1 parent 1ad660b commit f4d1d9c
Showing 2 changed files with 3 additions and 22 deletions.
23 changes: 3 additions & 20 deletions src/node_crypto.cc
Original file line number Diff line number Diff line change
@@ -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_);
}
2 changes: 0 additions & 2 deletions src/node_crypto.h
Original file line number Diff line number Diff line change
@@ -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.