OSDN Git Service

Fix BT stack crashing on GATT discovery
authorJakub Pawlowski <jpawlowski@google.com>
Wed, 14 Dec 2016 22:52:52 +0000 (14:52 -0800)
committerJakub Pawlowski <jpawlowski@google.com>
Wed, 14 Dec 2016 22:54:41 +0000 (14:54 -0800)
Bug: 33577836
Test: manual test
Change-Id: I3b00490cb087b6da709332c30c2e50cba9d5e1a8

jni/com_android_bluetooth_gatt.cpp

index ce23f3d..880d81c 100644 (file)
@@ -500,7 +500,7 @@ void fillGattDbElementArray(JNIEnv* env, jobject* array,
 
     jobject uuid = env->NewObject(uuidClazz, uuidConstructor,
                                   uuid_msb(&curr.uuid), uuid_lsb(&curr.uuid));
-    fid = env->GetFieldID(gattDbElementClazz, "uuid", "java/util/UUID");
+    fid = env->GetFieldID(gattDbElementClazz, "uuid", "Ljava/util/UUID;");
     env->SetObjectField(element, fid, uuid);
     env->DeleteLocalRef(uuid);
 
@@ -1521,7 +1521,7 @@ static void gattServerAddServiceNative(JNIEnv* env, jobject object,
     fid = env->GetFieldID(gattDbElementClazz, "id", "I");
     curr.id = env->GetIntField(element, fid);
 
-    fid = env->GetFieldID(gattDbElementClazz, "uuid", "java/util/UUID");
+    fid = env->GetFieldID(gattDbElementClazz, "uuid", "Ljava/util/UUID;");
     jobject uuid = env->GetObjectField(element, fid);
 
     jlong uuid_msb = env->CallLongMethod(uuid, uuidGetMsb);