diff options
author | Sandeep Siddhartha <sansid@google.com> | 2014-07-25 18:37:29 -0700 |
---|---|---|
committer | Sandeep Siddhartha <sansid@google.com> | 2014-07-28 11:10:32 -0700 |
commit | 39c12fab49075b715c253c68c84b5c10c3150197 (patch) | |
tree | bcb5cff2b35c50575cb8e4b60ea35e8a635b16e7 /core/jni | |
parent | e0b8c378b7b4881396346116a9c1d633d1a4eb9f (diff) | |
download | frameworks_base-39c12fab49075b715c253c68c84b5c10c3150197.zip frameworks_base-39c12fab49075b715c253c68c84b5c10c3150197.tar.gz frameworks_base-39c12fab49075b715c253c68c84b5c10c3150197.tar.bz2 |
Use blob (shared memory) for large data in sound model/recognition event/config
Also add a missing null check in writeBlob
Bug: 16516353
Change-Id: Ie702f8daae541cab7c2cee6e13d49e7fc84c84e1
Diffstat (limited to 'core/jni')
-rw-r--r-- | core/jni/android_os_Parcel.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/core/jni/android_os_Parcel.cpp b/core/jni/android_os_Parcel.cpp index 3ba481e..44863cc 100644 --- a/core/jni/android_os_Parcel.cpp +++ b/core/jni/android_os_Parcel.cpp @@ -194,6 +194,14 @@ static void android_os_Parcel_writeBlob(JNIEnv* env, jclass clazz, jlong nativeP return; } + if (data == NULL) { + const status_t err = parcel->writeInt32(-1); + if (err != NO_ERROR) { + signalExceptionForError(env, clazz, err); + } + return; + } + const status_t err = parcel->writeInt32(length); if (err != NO_ERROR) { signalExceptionForError(env, clazz, err); |