@@ -5233,7 +5233,7 @@ class PBKDF2Request : public AsyncWrap {
5233
5233
int keylen)
5234
5234
: AsyncWrap(env, object, AsyncWrap::PROVIDER_PBKDF2REQUEST),
5235
5235
digest_ (digest),
5236
- error_( 0 ),
5236
+ success_( false ),
5237
5237
passlen_(passlen),
5238
5238
pass_(pass),
5239
5239
saltlen_(saltlen),
@@ -5265,46 +5265,6 @@ class PBKDF2Request : public AsyncWrap {
5265
5265
return &work_req_;
5266
5266
}
5267
5267
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
-
5308
5268
size_t self_size () const override { return sizeof (*this ); }
5309
5269
5310
5270
static void Work (uv_work_t * work_req);
@@ -5317,7 +5277,7 @@ class PBKDF2Request : public AsyncWrap {
5317
5277
private:
5318
5278
uv_work_t work_req_;
5319
5279
const EVP_MD* digest_;
5320
- int error_ ;
5280
+ bool success_ ;
5321
5281
int passlen_;
5322
5282
char * pass_;
5323
5283
int saltlen_;
@@ -5329,17 +5289,12 @@ class PBKDF2Request : public AsyncWrap {
5329
5289
5330
5290
5331
5291
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_);
5343
5298
}
5344
5299
5345
5300
@@ -5350,9 +5305,9 @@ void PBKDF2Request::Work(uv_work_t* work_req) {
5350
5305
5351
5306
5352
5307
void PBKDF2Request::After (Local<Value> (*argv)[2]) {
5353
- if (error () ) {
5308
+ if (success_ ) {
5354
5309
(*argv)[0 ] = Undefined (env ()->isolate ());
5355
- (*argv)[1 ] = Buffer::New (env (), key (), keylen () ).ToLocalChecked ();
5310
+ (*argv)[1 ] = Buffer::New (env (), key_, keylen_ ).ToLocalChecked ();
5356
5311
key_ = nullptr ;
5357
5312
keylen_ = 0 ;
5358
5313
} else {
0 commit comments