From ace3371ef5d0788d440682cdbd429b555e635bb9 Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Thu, 23 May 2019 13:19:23 -0700 Subject: [PATCH] StrictJarFile can use the new std::string libziparchive Next overload. Bug: http://b/129068177 Test: treehugger Change-Id: I44e89f0767723de7fce46dae58f2156fcd9a6362 --- core/jni/android_util_jar_StrictJarFile.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/core/jni/android_util_jar_StrictJarFile.cpp b/core/jni/android_util_jar_StrictJarFile.cpp index e33da9167e051..57688c456738c 100644 --- a/core/jni/android_util_jar_StrictJarFile.cpp +++ b/core/jni/android_util_jar_StrictJarFile.cpp @@ -112,7 +112,7 @@ jlong StrictJarFile_nativeStartIteration(JNIEnv* env, jobject, jlong nativeHandl jobject StrictJarFile_nativeNextEntry(JNIEnv* env, jobject, jlong iterationHandle) { ZipEntry data; - ZipString entryName; + std::string entryName; IterationHandle* handle = reinterpret_cast(iterationHandle); const int32_t error = Next(*handle->CookieAddress(), &data, &entryName); @@ -121,10 +121,7 @@ jobject StrictJarFile_nativeNextEntry(JNIEnv* env, jobject, jlong iterationHandl return NULL; } - std::unique_ptr entryNameCString(new char[entryName.name_length + 1]); - memcpy(entryNameCString.get(), entryName.name, entryName.name_length); - entryNameCString[entryName.name_length] = '\0'; - ScopedLocalRef entryNameString(env, env->NewStringUTF(entryNameCString.get())); + ScopedLocalRef entryNameString(env, env->NewStringUTF(entryName.c_str())); return newZipEntry(env, data, entryNameString.get()); }