FM: Buffer type changed & length check
-- JNI type is change for buffer and buffer length validation is added
Change-Id: Ib5c79f395807d70cd2df1fb76a16bfb16eafa311
diff --git a/jni/android_hardware_fm.cpp b/jni/android_hardware_fm.cpp
index 167e9f2..daad1fd 100644
--- a/jni/android_hardware_fm.cpp
+++ b/jni/android_hardware_fm.cpp
@@ -850,11 +850,15 @@
/* native interface */
static jint android_hardware_fmradio_FmReceiverJNI_getRawRdsNative
- (JNIEnv * env, jobject thiz, jint fd, jbooleanArray buff, jint count)
+ (JNIEnv * env, jobject thiz, jint fd, jbyteArray buff, jint count)
{
+ ALOGD("->android_hardware_fmradio_FmReceiverJNI_getRawRdsNative");
+ if (env->GetArrayLength(buff) != count) {
+ ALOGE("%s: unexpected buff size", __func__);
+ return FM_JNI_FAILURE;
+ }
return (read (fd, buff, count));
-
}
static jint android_hardware_fmradio_FmReceiverJNI_configureSpurTable