diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-04-27 13:12:08 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-04-27 13:12:08 +0000 |
commit | 38ee2ee9f052edd5b6bf711cee850c35cca1ab8f (patch) | |
tree | 976dec5e697e52cbee0b1a6461cc4b5d2d5eac3d | |
parent | 0fc0443f0e91606edb2c0b4ef72bf64ce9ff9c0a (diff) | |
parent | fbf0cddf25ffa157a388d0f717c40a6372531d00 (diff) | |
download | icing-38ee2ee9f052edd5b6bf711cee850c35cca1ab8f.tar.gz |
Snap for 8505378 from fbf0cddf25ffa157a388d0f717c40a6372531d00 to mainline-go-conscrypt-release
Change-Id: I6773cac1c7cbcdb578b91971604dae0d68383b0d
-rw-r--r-- | Android.bp | 2 | ||||
-rw-r--r-- | icing/jni/icing-search-engine-jni.cc | 18 |
2 files changed, 13 insertions, 7 deletions
@@ -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); } |