GPS: Fix race condition reporting NMEA data.

Change-Id: I80997e2686d9c08d7d2def094f9922e83cf41013
Signed-off-by: Mike Lockwood <lockwood@android.com>
diff --git a/core/jni/android_location_GpsLocationProvider.cpp b/core/jni/android_location_GpsLocationProvider.cpp
index c329602..4aed277 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_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;