From 0b8d90d23e3565b2246d099c495c24a0d4494b84 Mon Sep 17 00:00:00 2001 From: Ray Chin Date: Thu, 17 Nov 2022 19:01:38 +0800 Subject: [PATCH] Refine DeleteLocalRef invocation Bug: 254803449 Test: atest android.media.tv.tuner.cts on cf_x86_tv-userdebug Change-Id: I3ade90126cc4cfd56e8f9f2547f351e7daf2b441 --- media/jni/android_media_tv_Tuner.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) 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; }