diff options
author | Luke Zhang <lukez@codeaurora.org> | 2016-01-15 13:30:48 -0800 |
---|---|---|
committer | Gerrit Code Review <gerrit@cyanogenmod.org> | 2016-06-15 16:59:19 -0700 |
commit | d8e8f3a344b53b3ca96c60d2831829f4922dfb63 (patch) | |
tree | 3b1656038c50674157a1947d694544a99eeb4525 | |
parent | 084c841f761ecb89eb1654f2abdfe161a6ecc042 (diff) | |
download | android_packages_apps_Bluetooth-d8e8f3a344b53b3ca96c60d2831829f4922dfb63.tar.gz android_packages_apps_Bluetooth-d8e8f3a344b53b3ca96c60d2831829f4922dfb63.tar.bz2 android_packages_apps_Bluetooth-d8e8f3a344b53b3ca96c60d2831829f4922dfb63.zip |
Set sJniAdapterServiceObj to NULL after deleting it
In cleanupNative function, we delete the global reference object
sJniAdapterServiceObj, but we does not set it to NULL. As a result,
it crashed later when we access this object again.
CYNGNOS-2866
Change-Id: I394b8741108a9192adac91fc4b16412bb64eaf64
CR-fixed: 961141
(cherry picked from commit cf5fdf71346d780e998c0fd1f8335517528695db)
-rw-r--r-- | jni/com_android_bluetooth_btservice_AdapterService.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/jni/com_android_bluetooth_btservice_AdapterService.cpp b/jni/com_android_bluetooth_btservice_AdapterService.cpp index f18856c1a..88a6fe5e4 100644 --- a/jni/com_android_bluetooth_btservice_AdapterService.cpp +++ b/jni/com_android_bluetooth_btservice_AdapterService.cpp @@ -736,7 +736,10 @@ static bool cleanupNative(JNIEnv *env, jobject obj) { sBluetoothInterface->cleanup(); ALOGI("%s: return from cleanup",__FUNCTION__); - env->DeleteGlobalRef(sJniAdapterServiceObj); + if (sJniAdapterServiceObj) { + env->DeleteGlobalRef(sJniAdapterServiceObj); + sJniAdapterServiceObj = NULL; + } if (sJniCallbacksObj) { env->DeleteGlobalRef(sJniCallbacksObj); |