src: avoid heap allocation in crypto.pbkdf2()

PR-URL: https://github.com/nodejs/node/pull/14122
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
This commit is contained in:
Ben Noordhuis committed 2017-07-17 23:09:41 +02:00
1 parent adfb7168fd
commit deef3b45c2
1 file changed
+3 -2
+3 -2
View File
@@ -5355,8 +5355,9 @@ void PBKDF2Request::Work(uv_work_t* work_req) {
void PBKDF2Request::After(Local<Value> (*argv)[2]) {
if (error()) {
(*argv)[0] = Undefined(env()->isolate());
(*argv)[1] = Encode(env()->isolate(), key(), keylen(), BUFFER);
OPENSSL_cleanse(key(), keylen());
(*argv)[1] = Buffer::New(env(), key(), keylen()).ToLocalChecked();
key_ = nullptr;
keylen_ = 0;
} else {
(*argv)[0] = Exception::Error(env()->pbkdf2_error_string());
(*argv)[1] = Undefined(env()->isolate());