Skip to content
Snippets Groups Projects
Commit 777777ef authored by Patryk Lesiewicz's avatar Patryk Lesiewicz
Browse files

Pass delete[] explicitely to Nan::NewBuffer.

Use the Nan::NewBuffer version that accepts an explicit callback
deallocating buffers. This way we'll be resilient to different nan/node
versions.

Fixes grpc/grpc#4867
parent fff1cb7f
No related branches found
No related tags found
No related merge requests found
...@@ -63,6 +63,10 @@ grpc_byte_buffer *BufferToByteBuffer(Local<Value> buffer) { ...@@ -63,6 +63,10 @@ grpc_byte_buffer *BufferToByteBuffer(Local<Value> buffer) {
return byte_buffer; return byte_buffer;
} }
namespace {
void delete_buffer(char *data, void *hint) { delete[] data; }
}
Local<Value> ByteBufferToBuffer(grpc_byte_buffer *buffer) { Local<Value> ByteBufferToBuffer(grpc_byte_buffer *buffer) {
Nan::EscapableHandleScope scope; Nan::EscapableHandleScope scope;
if (buffer == NULL) { if (buffer == NULL) {
...@@ -80,7 +84,7 @@ Local<Value> ByteBufferToBuffer(grpc_byte_buffer *buffer) { ...@@ -80,7 +84,7 @@ Local<Value> ByteBufferToBuffer(grpc_byte_buffer *buffer) {
gpr_slice_unref(next); gpr_slice_unref(next);
} }
return scope.Escape(MakeFastBuffer( return scope.Escape(MakeFastBuffer(
Nan::NewBuffer(result, length).ToLocalChecked())); Nan::NewBuffer(result, length, delete_buffer, NULL).ToLocalChecked()));
} }
Local<Value> MakeFastBuffer(Local<Value> slowBuffer) { Local<Value> MakeFastBuffer(Local<Value> slowBuffer) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment