summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Eric Laurent <elaurent@google.com> 2014-10-29 23:07:31 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2014-10-29 23:07:33 +0000
commitc0c1255a930bf0c2104f82c05f430b34112cc1bf (patch)
tree41cb6306a8acd148e44e61508ad5f893f7018bac
parent4e7c562c43e9014c8fb3e75d02ba98fa4edadbde (diff)
parent8f89feba39be8e705c6b9f550c5af141a9e189da (diff)
Merge "SoundTrigger JNI: fix local reference leak." into lmp-mr1-dev
-rw-r--r--core/jni/android_hardware_SoundTrigger.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/core/jni/android_hardware_SoundTrigger.cpp b/core/jni/android_hardware_SoundTrigger.cpp
index 7b33bc28d24e..2a8e6d6b5b3d 100644
--- a/core/jni/android_hardware_SoundTrigger.cpp
+++ b/core/jni/android_hardware_SoundTrigger.cpp
@@ -265,19 +265,22 @@ void JNISoundTriggerCallback::onRecognitionEvent(struct sound_trigger_recognitio
event->capture_session, event->capture_delay_ms,
event->capture_preamble_ms, event->trigger_in_data,
jAudioFormat, jData, jExtras);
- env->DeleteLocalRef(jAudioFormat);
- env->DeleteLocalRef(jData);
+ env->DeleteLocalRef(jExtras);
} else {
jEvent = env->NewObject(gRecognitionEventClass, gRecognitionEventCstor,
event->status, event->model, event->capture_available,
event->capture_session, event->capture_delay_ms,
event->capture_preamble_ms, event->trigger_in_data,
jAudioFormat, jData);
+ }
+
+ if (jAudioFormat != NULL) {
env->DeleteLocalRef(jAudioFormat);
+ }
+ if (jData != NULL) {
env->DeleteLocalRef(jData);
}
-
env->CallStaticVoidMethod(mClass, gPostEventFromNative, mObject,
SOUNDTRIGGER_EVENT_RECOGNITION, 0, 0, jEvent);