Skip to content

Commit ad0669b

Browse files
bnoordhuisaddaleax
authored andcommitted
src: simplify PBKDF2Request
This also renames a misnamed variable `error_` to `success_`. PR-URL: #14122 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: James M Snell <[email protected]>
1 parent 8f4b84b commit ad0669b

File tree

1 file changed

+10
-55
lines changed

1 file changed

+10
-55
lines changed

src/node_crypto.cc

+10-55
Original file line numberDiff line numberDiff line change
@@ -5233,7 +5233,7 @@ class PBKDF2Request : public AsyncWrap {
52335233
int keylen)
52345234
: AsyncWrap(env, object, AsyncWrap::PROVIDER_PBKDF2REQUEST),
52355235
digest_(digest),
5236-
error_(0),
5236+
success_(false),
52375237
passlen_(passlen),
52385238
pass_(pass),
52395239
saltlen_(saltlen),
@@ -5265,46 +5265,6 @@ class PBKDF2Request : public AsyncWrap {
52655265
return &work_req_;
52665266
}
52675267

5268-
inline const EVP_MD* digest() const {
5269-
return digest_;
5270-
}
5271-
5272-
inline int passlen() const {
5273-
return passlen_;
5274-
}
5275-
5276-
inline char* pass() const {
5277-
return pass_;
5278-
}
5279-
5280-
inline int saltlen() const {
5281-
return saltlen_;
5282-
}
5283-
5284-
inline char* salt() const {
5285-
return salt_;
5286-
}
5287-
5288-
inline int keylen() const {
5289-
return keylen_;
5290-
}
5291-
5292-
inline char* key() const {
5293-
return key_;
5294-
}
5295-
5296-
inline int iter() const {
5297-
return iter_;
5298-
}
5299-
5300-
inline int error() const {
5301-
return error_;
5302-
}
5303-
5304-
inline void set_error(int err) {
5305-
error_ = err;
5306-
}
5307-
53085268
size_t self_size() const override { return sizeof(*this); }
53095269

53105270
static void Work(uv_work_t* work_req);
@@ -5317,7 +5277,7 @@ class PBKDF2Request : public AsyncWrap {
53175277
private:
53185278
uv_work_t work_req_;
53195279
const EVP_MD* digest_;
5320-
int error_;
5280+
bool success_;
53215281
int passlen_;
53225282
char* pass_;
53235283
int saltlen_;
@@ -5329,17 +5289,12 @@ class PBKDF2Request : public AsyncWrap {
53295289

53305290

53315291
void PBKDF2Request::Work() {
5332-
set_error(PKCS5_PBKDF2_HMAC(
5333-
pass(),
5334-
passlen(),
5335-
reinterpret_cast<unsigned char*>(salt()),
5336-
saltlen(),
5337-
iter(),
5338-
digest(),
5339-
keylen(),
5340-
reinterpret_cast<unsigned char*>(key())));
5341-
OPENSSL_cleanse(pass(), passlen());
5342-
OPENSSL_cleanse(salt(), saltlen());
5292+
success_ =
5293+
PKCS5_PBKDF2_HMAC(
5294+
pass_, passlen_, reinterpret_cast<unsigned char*>(salt_), saltlen_,
5295+
iter_, digest_, keylen_, reinterpret_cast<unsigned char*>(key_));
5296+
OPENSSL_cleanse(pass_, passlen_);
5297+
OPENSSL_cleanse(salt_, saltlen_);
53435298
}
53445299

53455300

@@ -5350,9 +5305,9 @@ void PBKDF2Request::Work(uv_work_t* work_req) {
53505305

53515306

53525307
void PBKDF2Request::After(Local<Value> (*argv)[2]) {
5353-
if (error()) {
5308+
if (success_) {
53545309
(*argv)[0] = Undefined(env()->isolate());
5355-
(*argv)[1] = Buffer::New(env(), key(), keylen()).ToLocalChecked();
5310+
(*argv)[1] = Buffer::New(env(), key_, keylen_).ToLocalChecked();
53565311
key_ = nullptr;
53575312
keylen_ = 0;
53585313
} else {

0 commit comments

Comments
 (0)