diff --git a/media/jni/android_media_tv_Tuner.cpp b/media/jni/android_media_tv_Tuner.cpp index 15049302d322a..a028c040891bf 100644 --- a/media/jni/android_media_tv_Tuner.cpp +++ b/media/jni/android_media_tv_Tuner.cpp @@ -380,6 +380,7 @@ void LnbClientCallbackImpl::onDiseqcMessage(const vector &diseqcMessage gFields.onLnbDiseqcMessageID, array); env->DeleteLocalRef(lnb); + env->DeleteLocalRef(array); } else { ALOGE("LnbClientCallbackImpl::onDiseqcMessage:" "Lnb object has been freed. Ignoring callback."); @@ -848,6 +849,7 @@ void FilterClientCallbackImpl::getRestartEvent(jobjectArray &arr, const int size const int32_t &startId = event.get(); jobject obj = env->NewObject(eventClazz, eventInit, startId); env->SetObjectArrayElement(arr, size, obj); + env->DeleteLocalRef(obj); } void FilterClientCallbackImpl::onFilterEvent(const vector &events) { @@ -2181,7 +2183,6 @@ jobject JTuner::getFrontendStatus(jintArray types) { env->NewObject(longClazz, initLong, static_cast(s.get())); env->SetObjectField(statusObj, field, newLongObj); - env->DeleteLocalRef(longClazz); env->DeleteLocalRef(newLongObj); break; } @@ -2347,7 +2348,6 @@ jobject JTuner::getFrontendStatus(jintArray types) { } env->SetObjectField(statusObj, field, valObj); - env->DeleteLocalRef(plpClazz); env->DeleteLocalRef(valObj); break; } @@ -2758,7 +2758,6 @@ jobject JTuner::getFrontendStatus(jintArray types) { } env->SetObjectField(statusObj, field, valObj); - env->DeleteLocalRef(plpClazz); env->DeleteLocalRef(valObj); break; }