Loading core/jni/android_os_Parcel.cpp +13 −3 Original line number Diff line number Diff line Loading @@ -336,8 +336,13 @@ static jbyteArray android_os_Parcel_createByteArray(JNIEnv* env, jclass clazz, j jbyte* a2 = (jbyte*)env->GetPrimitiveArrayCritical(ret, 0); if (a2) { const void* data = parcel->readInplace(len); if (data) { memcpy(a2, data, len); } env->ReleasePrimitiveArrayCritical(ret, a2, 0); if (!data) { ret = NULL; } } } } Loading @@ -360,9 +365,14 @@ static jboolean android_os_Parcel_readByteArray(JNIEnv* env, jclass clazz, jlong jbyte* ar = (jbyte*)env->GetPrimitiveArrayCritical((jarray)dest, 0); if (ar) { const void* data = parcel->readInplace(len); if (data) { memcpy(ar, data, len); env->ReleasePrimitiveArrayCritical((jarray)dest, ar, 0); ret = JNI_TRUE; } else { ret = JNI_FALSE; } env->ReleasePrimitiveArrayCritical((jarray)dest, ar, 0); } } return ret; Loading Loading
core/jni/android_os_Parcel.cpp +13 −3 Original line number Diff line number Diff line Loading @@ -336,8 +336,13 @@ static jbyteArray android_os_Parcel_createByteArray(JNIEnv* env, jclass clazz, j jbyte* a2 = (jbyte*)env->GetPrimitiveArrayCritical(ret, 0); if (a2) { const void* data = parcel->readInplace(len); if (data) { memcpy(a2, data, len); } env->ReleasePrimitiveArrayCritical(ret, a2, 0); if (!data) { ret = NULL; } } } } Loading @@ -360,9 +365,14 @@ static jboolean android_os_Parcel_readByteArray(JNIEnv* env, jclass clazz, jlong jbyte* ar = (jbyte*)env->GetPrimitiveArrayCritical((jarray)dest, 0); if (ar) { const void* data = parcel->readInplace(len); if (data) { memcpy(ar, data, len); env->ReleasePrimitiveArrayCritical((jarray)dest, ar, 0); ret = JNI_TRUE; } else { ret = JNI_FALSE; } env->ReleasePrimitiveArrayCritical((jarray)dest, ar, 0); } } return ret; Loading