summaryrefslogtreecommitdiffstats
path: root/jni
diff options
context:
space:
mode:
authorVenkateshwarlu Domakonda <vdomak@codeaurora.org>2015-04-06 15:39:09 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2015-04-10 04:35:24 -0700
commit0c581255c0f4ebe3aeb639ee9767734f49e444a3 (patch)
tree5e99d5b664902e25236004f280d52d9170c24ceb /jni
parent78b671a68e3547ac9c288f430ac1d82dc0d26106 (diff)
downloadandroid_hardware_qcom_fm-0c581255c0f4ebe3aeb639ee9767734f49e444a3.tar.gz
android_hardware_qcom_fm-0c581255c0f4ebe3aeb639ee9767734f49e444a3.tar.bz2
android_hardware_qcom_fm-0c581255c0f4ebe3aeb639ee9767734f49e444a3.zip
FM: Handle the error responses
Handle the error response for enable cmd. Added NULL check while releasing the buffer. Change-Id: I4acb79eca08cbc060d48273d6fc81055879b353c CRs-Fixed: 818067
Diffstat (limited to 'jni')
-rw-r--r--jni/android_hardware_fm.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/jni/android_hardware_fm.cpp b/jni/android_hardware_fm.cpp
index 8d2e610..82fdb97 100644
--- a/jni/android_hardware_fm.cpp
+++ b/jni/android_hardware_fm.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009-2014, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2009-2015, The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
@@ -449,9 +449,10 @@ static jint android_hardware_fmradio_FmReceiverJNI_getBufferNative
{
int err;
jboolean isCopy;
- jbyte *byte_buffer;
+ jbyte *byte_buffer = NULL;
if ((fd >= 0) && (index >= 0)) {
+ ALOGE("index: %d\n", index);
byte_buffer = env->GetByteArrayElements(buff, &isCopy);
err = FmIoctlsInterface :: get_buffer(fd,
(char *)byte_buffer,
@@ -460,7 +461,11 @@ static jint android_hardware_fmradio_FmReceiverJNI_getBufferNative
if (err < 0) {
err = FM_JNI_FAILURE;
}
- env->ReleaseByteArrayElements(buff, byte_buffer, 0);
+ if (buff != NULL) {
+ ALOGE("Free the buffer\n");
+ env->ReleaseByteArrayElements(buff, byte_buffer, 0);
+ byte_buffer = NULL;
+ }
} else {
err = FM_JNI_FAILURE;
}