@@ -4194,24 +4194,20 @@ void Sign::SignFinal(const FunctionCallbackInfo<Value>& args) {
4194
4194
unsigned int md_len;
4195
4195
4196
4196
unsigned int len = args.Length ();
4197
- enum encoding encoding = BUFFER;
4198
- if (len >= 2 ) {
4199
- encoding = ParseEncoding (env->isolate (), args[1 ], BUFFER);
4200
- }
4201
4197
4202
- node::Utf8Value passphrase (env->isolate (), args[2 ]);
4198
+ node::Utf8Value passphrase (env->isolate (), args[1 ]);
4203
4199
4204
4200
THROW_AND_RETURN_IF_NOT_BUFFER (args[0 ], " Data" );
4205
4201
size_t buf_len = Buffer::Length (args[0 ]);
4206
4202
char * buf = Buffer::Data (args[0 ]);
4207
4203
4208
- CHECK (args[3 ]->IsInt32 ());
4209
- Maybe<int32_t > maybe_padding = args[3 ]->Int32Value (env->context ());
4204
+ CHECK (args[2 ]->IsInt32 ());
4205
+ Maybe<int32_t > maybe_padding = args[2 ]->Int32Value (env->context ());
4210
4206
CHECK (maybe_padding.IsJust ());
4211
4207
int padding = maybe_padding.ToChecked ();
4212
4208
4213
- CHECK (args[4 ]->IsInt32 ());
4214
- Maybe<int32_t > maybe_salt_len = args[4 ]->Int32Value (env->context ());
4209
+ CHECK (args[3 ]->IsInt32 ());
4210
+ Maybe<int32_t > maybe_salt_len = args[3 ]->Int32Value (env->context ());
4215
4211
CHECK (maybe_salt_len.IsJust ());
4216
4212
int salt_len = maybe_salt_len.ToChecked ();
4217
4213
@@ -4224,7 +4220,7 @@ void Sign::SignFinal(const FunctionCallbackInfo<Value>& args) {
4224
4220
Error err = sign->SignFinal (
4225
4221
buf,
4226
4222
buf_len,
4227
- len >= 3 && !args[2 ]->IsNull () ? *passphrase : nullptr ,
4223
+ len >= 2 && !args[1 ]->IsNull () ? *passphrase : nullptr ,
4228
4224
&md_value,
4229
4225
&md_len,
4230
4226
padding,
@@ -4236,10 +4232,9 @@ void Sign::SignFinal(const FunctionCallbackInfo<Value>& args) {
4236
4232
return sign->CheckThrow (err);
4237
4233
}
4238
4234
4239
- Local<Value> rc = StringBytes::Encode (env->isolate (),
4240
- reinterpret_cast <const char *>(md_value),
4241
- md_len,
4242
- encoding);
4235
+ Local<Object> rc = Buffer::Copy (env->isolate (),
4236
+ reinterpret_cast <const char *>(md_value),
4237
+ md_len).ToLocalChecked ();
4243
4238
delete[] md_value;
4244
4239
args.GetReturnValue ().Set (rc);
4245
4240
}
@@ -4442,42 +4437,22 @@ void Verify::VerifyFinal(const FunctionCallbackInfo<Value>& args) {
4442
4437
4443
4438
THROW_AND_RETURN_IF_NOT_STRING_OR_BUFFER (args[1 ], " Hash" );
4444
4439
4445
- enum encoding encoding = UTF8;
4446
- if (args.Length () >= 3 ) {
4447
- encoding = ParseEncoding (env->isolate (), args[2 ], UTF8);
4448
- }
4449
-
4450
- ssize_t hlen = StringBytes::Size (env->isolate (), args[1 ], encoding);
4451
-
4452
- // only copy if we need to, because it's a string.
4453
- char * hbuf;
4454
- if (args[1 ]->IsString ()) {
4455
- hbuf = new char [hlen];
4456
- ssize_t hwritten = StringBytes::Write (env->isolate (),
4457
- hbuf,
4458
- hlen,
4459
- args[1 ],
4460
- encoding);
4461
- CHECK_EQ (hwritten, hlen);
4462
- } else {
4463
- hbuf = Buffer::Data (args[1 ]);
4464
- }
4440
+ char * hbuf = Buffer::Data (args[1 ]);
4441
+ ssize_t hlen = Buffer::Length (args[1 ]);
4465
4442
4466
- CHECK (args[3 ]->IsInt32 ());
4467
- Maybe<int32_t > maybe_padding = args[3 ]->Int32Value (env->context ());
4443
+ CHECK (args[2 ]->IsInt32 ());
4444
+ Maybe<int32_t > maybe_padding = args[2 ]->Int32Value (env->context ());
4468
4445
CHECK (maybe_padding.IsJust ());
4469
4446
int padding = maybe_padding.ToChecked ();
4470
4447
4471
- CHECK (args[4 ]->IsInt32 ());
4472
- Maybe<int32_t > maybe_salt_len = args[4 ]->Int32Value (env->context ());
4448
+ CHECK (args[3 ]->IsInt32 ());
4449
+ Maybe<int32_t > maybe_salt_len = args[3 ]->Int32Value (env->context ());
4473
4450
CHECK (maybe_salt_len.IsJust ());
4474
4451
int salt_len = maybe_salt_len.ToChecked ();
4475
4452
4476
4453
bool verify_result;
4477
4454
Error err = verify->VerifyFinal (kbuf, klen, hbuf, hlen, padding, salt_len,
4478
4455
&verify_result);
4479
- if (args[1 ]->IsString ())
4480
- delete[] hbuf;
4481
4456
if (err != kSignOk )
4482
4457
return verify->CheckThrow (err);
4483
4458
args.GetReturnValue ().Set (verify_result);
0 commit comments