Environment* env = Environment::GetCurrent(isolate);
EscapableHandleScope handle_scope(env->isolate());
Local<Object> obj;
- if (Buffer::New(env, data, length).ToLocal(&obj))
+ if (Buffer::Copy(env, data, length).ToLocal(&obj))
return handle_scope.Escape(obj);
return Local<Object>();
}
-MaybeLocal<Object> New(Environment* env, const char* data, size_t length) {
+MaybeLocal<Object> Copy(Environment* env, const char* data, size_t length) {
EscapableHandleScope scope(env->isolate());
// V8 currently only allows a maximum Typed Array index of max Smi.
Environment* env = Environment::GetCurrent(isolate);
EscapableHandleScope handle_scope(env->isolate());
Local<Object> obj;
- if (Buffer::New(env, data, length).ToLocal(&obj))
+ if (Buffer::Use(env, data, length).ToLocal(&obj))
return handle_scope.Escape(obj);
return Local<Object>();
}
Context::Scope context_scope(env->context());
Local<Value> argv[] = {
- Buffer::New(env,
- reinterpret_cast<char*>(name),
- kTicketPartSize).ToLocalChecked(),
- Buffer::New(env,
- reinterpret_cast<char*>(iv),
- kTicketPartSize).ToLocalChecked(),
+ Buffer::Copy(env,
+ reinterpret_cast<char*>(name),
+ kTicketPartSize).ToLocalChecked(),
+ Buffer::Copy(env,
+ reinterpret_cast<char*>(iv),
+ kTicketPartSize).ToLocalChecked(),
Boolean::New(env->isolate(), enc != 0)
};
Local<Value> ret = node::MakeCallback(env,
memset(serialized, 0, size);
i2d_SSL_SESSION(sess, &serialized);
- Local<Object> session = Buffer::New(
+ Local<Object> session = Buffer::Copy(
env,
reinterpret_cast<char*>(sess->session_id),
sess->session_id_length).ToLocalChecked();
Context::Scope context_scope(env->context());
Local<Object> hello_obj = Object::New(env->isolate());
- Local<Object> buff = Buffer::New(
+ Local<Object> buff = Buffer::Copy(
env,
reinterpret_cast<const char*>(hello.session_id()),
hello.session_size()).ToLocalChecked();
if (sess == nullptr || sess->tlsext_tick == nullptr)
return;
- Local<Object> buff = Buffer::New(
+ Local<Object> buff = Buffer::Copy(
env,
reinterpret_cast<char*>(sess->tlsext_tick),
sess->tlsext_ticklen).ToLocalChecked();
if (resp == nullptr) {
arg = Null(env->isolate());
} else {
- arg = Buffer::New(
+ arg = Buffer::Copy(
env,
reinterpret_cast<char*>(const_cast<unsigned char*>(resp)),
len).ToLocalChecked();
if (initialised_ || kind_ != kCipher || !auth_tag_)
return false;
*out_len = auth_tag_len_;
- *out = new char[auth_tag_len_];
+ *out = static_cast<char*>(malloc(auth_tag_len_));
+ CHECK_NE(*out, nullptr);
memcpy(*out, auth_tag_, auth_tag_len_);
return true;
}
unsigned int out_len = 0;
if (cipher->GetAuthTag(&out, &out_len)) {
- Local<Object> buf = Buffer::New(env, out, out_len).ToLocalChecked();
+ Local<Object> buf = Buffer::Use(env, out, out_len).ToLocalChecked();
args.GetReturnValue().Set(buf);
} else {
env->ThrowError("Attempting to get auth tag in unsupported state");
"Trying to add data in unsupported state");
}
+ CHECK(out != nullptr || out_len == 0);
Local<Object> buf =
- Buffer::New(env, reinterpret_cast<char*>(out), out_len).ToLocalChecked();
+ Buffer::Copy(env, reinterpret_cast<char*>(out), out_len).ToLocalChecked();
if (out)
delete[] out;
}
}
- Local<Object> buf = Buffer::New(
+ Local<Object> buf = Buffer::Copy(
env,
reinterpret_cast<char*>(out_value),
out_len).ToLocalChecked();
}
}
- Local<Object> vbuf = Buffer::New(
+ Local<Object> vbuf = Buffer::Copy(
env,
reinterpret_cast<char*>(out_value),
out_len).ToLocalChecked();
}
Local<Object> buf =
- Buffer::New(env, reinterpret_cast<char*>(out), size).ToLocalChecked();
+ Buffer::Use(env, reinterpret_cast<char*>(out), size).ToLocalChecked();
args.GetReturnValue().Set(buf);
}