@@ -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
53315291void 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
53525307void 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