From df1198401101805a335535dd08231cbb0e2af500 Mon Sep 17 00:00:00 2001 From: destradaa Date: Tue, 14 Oct 2014 16:52:43 -0700 Subject: [PATCH] Fix reference leak in GPS measurement JNI layer. b/16727892 b/17075171 Change-Id: I5f41c6db114078b927e56a7614fa7c09a288e2b2 --- location/java/android/location/GpsClock.java | 1 + services/core/jni/com_android_server_location_GpsLocationProvider.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/location/java/android/location/GpsClock.java b/location/java/android/location/GpsClock.java index 963b6042a807..610d2688a086 100644 --- a/location/java/android/location/GpsClock.java +++ b/location/java/android/location/GpsClock.java @@ -492,6 +492,7 @@ public class GpsClock implements Parcelable { setType(TYPE_UNKNOWN); setTimeInNs(Long.MIN_VALUE); resetTimeUncertaintyInNs(); + resetFullBiasInNs(); resetBiasInNs(); resetBiasUncertaintyInNs(); resetDriftInNsPerSec(); diff --git a/services/core/jni/com_android_server_location_GpsLocationProvider.cpp b/services/core/jni/com_android_server_location_GpsLocationProvider.cpp index 695808740592..81833210ee4f 100644 --- a/services/core/jni/com_android_server_location_GpsLocationProvider.cpp +++ b/services/core/jni/com_android_server_location_GpsLocationProvider.cpp @@ -1195,6 +1195,7 @@ static jobject translate_gps_measurement(JNIEnv* env, GpsMeasurement* measuremen usedInFixSetterMethod, (flags & GPS_MEASUREMENT_HAS_USED_IN_FIX) && measurement->used_in_fix); + env->DeleteLocalRef(gpsMeasurementClass); return gpsMeasurementObject; } -- 2.11.0