From eb40aae254642dfcb333798c642920814b410115 Mon Sep 17 00:00:00 2001 From: Eddie Ho Date: Fri, 4 Sep 2009 07:03:22 -0400 Subject: [PATCH] GPS: Fix race condition reporting NMEA data. Change-Id: I80997e2686d9c08d7d2def094f9922e83cf41013 Signed-off-by: Mike Lockwood --- core/jni/android_location_GpsLocationProvider.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/jni/android_location_GpsLocationProvider.cpp b/core/jni/android_location_GpsLocationProvider.cpp index c329602258fab..4aed277d2a191 100755 --- a/core/jni/android_location_GpsLocationProvider.cpp +++ b/core/jni/android_location_GpsLocationProvider.cpp @@ -370,14 +370,14 @@ static jint android_location_GpsLocationProvider_read_sv_status(JNIEnv* env, job static jint android_location_GpsLocationProvider_read_nmea(JNIEnv* env, jobject obj, jint index, jbyteArray nmeaArray, jint buffer_size) { - // this should only be called from within a call to reportStatus, so we don't need to lock here + // this should only be called from within a call to reportNmea, so we don't need to lock here jbyte* nmea = env->GetByteArrayElements(nmeaArray, 0); - int length = strlen(sNmeaBuffer[index].nmea); + int length = strlen(sNmeaBufferCopy[index].nmea); if (length > buffer_size) length = buffer_size; - memcpy(nmea, sNmeaBuffer[index].nmea, length); + memcpy(nmea, sNmeaBufferCopy[index].nmea, length); env->ReleaseByteArrayElements(nmeaArray, nmea, 0); return length;