Merge "Parcel: Handle NULL return from Parcel::readInPlace." am: e6d7a51aa1 am: 40e5212abb am: b4af514a25

am: 581f987324

Change-Id: I6bf3a06e8ae4d22978dde296b9ee4729a597b5c8
This commit is contained in:
Narayan Kamath
2018-08-13 04:57:23 -07:00
committed by android-build-merger

View File

@@ -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);
memcpy(a2, data, len);
if (data) {
memcpy(a2, data, len);
}
env->ReleasePrimitiveArrayCritical(ret, a2, 0);
if (!data) {
ret = NULL;
}
}
}
}
@@ -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);
memcpy(ar, data, len);
if (data) {
memcpy(ar, data, len);
ret = JNI_TRUE;
} else {
ret = JNI_FALSE;
}
env->ReleasePrimitiveArrayCritical((jarray)dest, ar, 0);
ret = JNI_TRUE;
}
}
return ret;