From 69a48ec9d42f9ebccdea7b0d80b8e3d3693ddabd Mon Sep 17 00:00:00 2001 From: David Vacca Date: Tue, 20 Apr 2021 12:11:25 -0700 Subject: [PATCH] Fix importByteBufferAllocateDirect method Summary: This diff fixes the importByteBufferAllocateDirect method. This was tested enabling importByteBufferAllocateDirect in ReadableMapBuffer.java changelog: [internal] internal Reviewed By: sammy-SC Differential Revision: D27867055 fbshipit-source-id: 9ef5e93ff6c7903782598dde1c499daa82cd467b --- .../jni/react/common/mapbuffer/ReadableMapBuffer.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/ReadableMapBuffer.cpp b/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/ReadableMapBuffer.cpp index 8f7cac20b28..a04dfe95837 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/ReadableMapBuffer.cpp +++ b/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/ReadableMapBuffer.cpp @@ -26,7 +26,10 @@ ReadableMapBuffer::importByteBufferAllocateDirect() { // steps: // - Validate perf of this method vs importByteBuffer // - Validate that there's no leaking of memory - return jni::JByteBuffer::allocateDirect(_serializedDataSize); + auto ret = jni::JByteBuffer::allocateDirect(_serializedDataSize); + std::memcpy( + ret->getDirectBytes(), (void *)_serializedData, _serializedDataSize); + return ret; } jni::JByteBuffer::javaobject ReadableMapBuffer::importByteBuffer() {