Fix JNI memory leak for onlost/onfound reporting
Bug: 21080980
Change-Id: I7bded15aeccbf2f2fcfa2fe53b71614f1fd456ab
diff --git a/android/app/jni/com_android_bluetooth_gatt.cpp b/android/app/jni/com_android_bluetooth_gatt.cpp
index 6cd9a85..d11623a 100644
--- a/android/app/jni/com_android_bluetooth_gatt.cpp
+++ b/android/app/jni/com_android_bluetooth_gatt.cpp
@@ -581,9 +581,10 @@
address, p_adv_track_info->addr_type, p_adv_track_info->tx_power,
p_adv_track_info->rssi_value, p_adv_track_info->time_stamp);
- if (NULL != trackadv_obj)
+ if (NULL != trackadv_obj) {
sCallbackEnv->CallVoidMethod(mCallbacksObj, method_onTrackAdvFoundLost, trackadv_obj);
-
+ sCallbackEnv->DeleteLocalRef(trackadv_obj);
+ }
sCallbackEnv->DeleteLocalRef(address);
sCallbackEnv->DeleteLocalRef(jb_adv_pkt);
sCallbackEnv->DeleteLocalRef(jb_scan_rsp);