aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-04-27 13:12:08 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-04-27 13:12:08 +0000
commit38ee2ee9f052edd5b6bf711cee850c35cca1ab8f (patch)
tree976dec5e697e52cbee0b1a6461cc4b5d2d5eac3d
parent0fc0443f0e91606edb2c0b4ef72bf64ce9ff9c0a (diff)
parentfbf0cddf25ffa157a388d0f717c40a6372531d00 (diff)
downloadicing-38ee2ee9f052edd5b6bf711cee850c35cca1ab8f.tar.gz
Snap for 8505378 from fbf0cddf25ffa157a388d0f717c40a6372531d00 to mainline-go-conscrypt-release
Change-Id: I6773cac1c7cbcdb578b91971604dae0d68383b0d
-rw-r--r--Android.bp2
-rw-r--r--icing/jni/icing-search-engine-jni.cc18
2 files changed, 13 insertions, 7 deletions
diff --git a/Android.bp b/Android.bp
index 9a4111e..909e3ed 100644
--- a/Android.bp
+++ b/Android.bp
@@ -82,7 +82,7 @@ cc_library_shared {
"libutf",
],
shared_libs: [
- "libandroidicu",
+ "libicu",
"liblog",
"libprotobuf-cpp-lite",
"libz",
diff --git a/icing/jni/icing-search-engine-jni.cc b/icing/jni/icing-search-engine-jni.cc
index 51d3423..bcc35e6 100644
--- a/icing/jni/icing-search-engine-jni.cc
+++ b/icing/jni/icing-search-engine-jni.cc
@@ -166,6 +166,7 @@ Java_com_google_android_icing_IcingSearchEngine_nativeGetSchemaType(
env->GetStringUTFChars(schema_type, /*isCopy=*/nullptr);
icing::lib::GetSchemaTypeResultProto get_schema_type_result_proto =
icing->GetSchemaType(native_schema_type);
+ env->ReleaseStringUTFChars(schema_type, native_schema_type);
return SerializeProtoToJniByteArray(env, get_schema_type_result_proto);
}
@@ -192,19 +193,20 @@ JNIEXPORT jbyteArray JNICALL
Java_com_google_android_icing_IcingSearchEngine_nativeGet(
JNIEnv* env, jclass clazz, jobject object, jstring name_space, jstring uri,
jbyteArray result_spec_bytes) {
- icing::lib::IcingSearchEngine* icing =
- GetIcingSearchEnginePointer(env, object);
-
- const char* native_name_space =
- env->GetStringUTFChars(name_space, /*isCopy=*/nullptr);
- const char* native_uri = env->GetStringUTFChars(uri, /*isCopy=*/nullptr);
icing::lib::GetResultSpecProto get_result_spec;
if (!ParseProtoFromJniByteArray(env, result_spec_bytes, &get_result_spec)) {
ICING_LOG(ERROR) << "Failed to parse GetResultSpecProto in nativeGet";
return nullptr;
}
+ icing::lib::IcingSearchEngine* icing =
+ GetIcingSearchEnginePointer(env, object);
+ const char* native_name_space =
+ env->GetStringUTFChars(name_space, /*isCopy=*/nullptr);
+ const char* native_uri = env->GetStringUTFChars(uri, /*isCopy=*/nullptr);
icing::lib::GetResultProto get_result_proto =
icing->Get(native_name_space, native_uri, get_result_spec);
+ env->ReleaseStringUTFChars(uri, native_uri);
+ env->ReleaseStringUTFChars(name_space, native_name_space);
return SerializeProtoToJniByteArray(env, get_result_proto);
}
@@ -306,6 +308,8 @@ Java_com_google_android_icing_IcingSearchEngine_nativeDelete(
const char* native_uri = env->GetStringUTFChars(uri, /*isCopy=*/nullptr);
icing::lib::DeleteResultProto delete_result_proto =
icing->Delete(native_name_space, native_uri);
+ env->ReleaseStringUTFChars(uri, native_uri);
+ env->ReleaseStringUTFChars(name_space, native_name_space);
return SerializeProtoToJniByteArray(env, delete_result_proto);
}
@@ -320,6 +324,7 @@ Java_com_google_android_icing_IcingSearchEngine_nativeDeleteByNamespace(
env->GetStringUTFChars(name_space, /*isCopy=*/nullptr);
icing::lib::DeleteByNamespaceResultProto delete_by_namespace_result_proto =
icing->DeleteByNamespace(native_name_space);
+ env->ReleaseStringUTFChars(name_space, native_name_space);
return SerializeProtoToJniByteArray(env, delete_by_namespace_result_proto);
}
@@ -334,6 +339,7 @@ Java_com_google_android_icing_IcingSearchEngine_nativeDeleteBySchemaType(
env->GetStringUTFChars(schema_type, /*isCopy=*/nullptr);
icing::lib::DeleteBySchemaTypeResultProto delete_by_schema_type_result_proto =
icing->DeleteBySchemaType(native_schema_type);
+ env->ReleaseStringUTFChars(schema_type, native_schema_type);
return SerializeProtoToJniByteArray(env, delete_by_schema_type_result_proto);
}