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