mirror of
https://github.com/zebrajr/node.git
synced 2026-01-15 12:15:26 +00:00
src,crypto: remove uses of AllocatedBuffer from crypto_rsa.cc
Refs: https://github.com/nodejs/node/pull/39941 Signed-off-by: Darshan Sen <raisinten@gmail.com> PR-URL: https://github.com/nodejs/node/pull/42852 Reviewed-By: Anna Henningsen <anna@addaleax.net>
This commit is contained in:
@@ -15,6 +15,8 @@
|
||||
|
||||
namespace node {
|
||||
|
||||
using v8::ArrayBuffer;
|
||||
using v8::BackingStore;
|
||||
using v8::FunctionCallbackInfo;
|
||||
using v8::Int32;
|
||||
using v8::Just;
|
||||
@@ -555,17 +557,21 @@ Maybe<bool> GetRsaKeyDetail(
|
||||
return Nothing<bool>();
|
||||
}
|
||||
|
||||
int len = BN_num_bytes(e);
|
||||
AllocatedBuffer public_exponent = AllocatedBuffer::AllocateManaged(env, len);
|
||||
unsigned char* data =
|
||||
reinterpret_cast<unsigned char*>(public_exponent.data());
|
||||
CHECK_EQ(BN_bn2binpad(e, data, len), len);
|
||||
std::unique_ptr<BackingStore> public_exponent;
|
||||
{
|
||||
NoArrayBufferZeroFillScope no_zero_fill_scope(env->isolate_data());
|
||||
public_exponent =
|
||||
ArrayBuffer::NewBackingStore(env->isolate(), BN_num_bytes(e));
|
||||
}
|
||||
CHECK_EQ(BN_bn2binpad(e,
|
||||
static_cast<unsigned char*>(public_exponent->Data()),
|
||||
public_exponent->ByteLength()),
|
||||
static_cast<int>(public_exponent->ByteLength()));
|
||||
|
||||
if (target
|
||||
->Set(
|
||||
env->context(),
|
||||
env->public_exponent_string(),
|
||||
public_exponent.ToArrayBuffer())
|
||||
->Set(env->context(),
|
||||
env->public_exponent_string(),
|
||||
ArrayBuffer::New(env->isolate(), std::move(public_exponent)))
|
||||
.IsNothing()) {
|
||||
return Nothing<bool>();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user