From 4b473fa3526fe6890588bd5af211235a42cac4ad Mon Sep 17 00:00:00 2001 From: Hongguang Date: Wed, 4 Aug 2021 16:58:07 -0700 Subject: [PATCH] Fix abort when DeleteWeakGlobalRef in ~FrontendClientCallbackImpl() This week global ref was newed once bug deleted twice. It triggered an abort on userdebug build when checkJni is enabled. Bug: 195591944 Fix: 195591944 Test: atest android.media.tv.tuner.cts Change-Id: I0b46628a0fc192708201c3c8b536b7ad1a4ea8f1 --- media/jni/android_media_tv_Tuner.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/media/jni/android_media_tv_Tuner.cpp b/media/jni/android_media_tv_Tuner.cpp index e4f3f33964071..698fb5a53c2d9 100644 --- a/media/jni/android_media_tv_Tuner.cpp +++ b/media/jni/android_media_tv_Tuner.cpp @@ -1245,7 +1245,8 @@ jobject JTuner::openFrontendByHandle(int feHandle) { return NULL; } - sp feClientCb = new FrontendClientCallbackImpl(mObject); + sp feClientCb = + new FrontendClientCallbackImpl(env->NewWeakGlobalRef(mObject)); mFeClient->setCallback(feClientCb); // TODO: add more fields to frontend return env->NewObject(