diff options
author | Venkateshwarlu Domakonda <vdomak@codeaurora.org> | 2015-04-06 15:39:09 +0530 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2015-04-10 04:35:24 -0700 |
commit | 0c581255c0f4ebe3aeb639ee9767734f49e444a3 (patch) | |
tree | 5e99d5b664902e25236004f280d52d9170c24ceb /jni | |
parent | 78b671a68e3547ac9c288f430ac1d82dc0d26106 (diff) | |
download | android_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.cpp | 11 |
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; } |