diff --git a/core/jni/android_content_res_ApkAssets.cpp b/core/jni/android_content_res_ApkAssets.cpp index fc12e174b55d2..a8d72316036ea 100644 --- a/core/jni/android_content_res_ApkAssets.cpp +++ b/core/jni/android_content_res_ApkAssets.cpp @@ -459,8 +459,12 @@ static jobject NativeGetOverlayableInfo(JNIEnv* env, jclass /*clazz*/, jlong ptr return nullptr; } - auto overlayable_name_native = std::string(env->GetStringUTFChars(overlayable_name, NULL)); + const char* overlayable_name_native = env->GetStringUTFChars(overlayable_name, nullptr); + if (overlayable_name_native == nullptr) { + return nullptr; + } auto actor = overlayable_map.find(overlayable_name_native); + env->ReleaseStringUTFChars(overlayable_name, overlayable_name_native); if (actor == overlayable_map.end()) { return nullptr; } diff --git a/core/jni/android_hardware_camera2_DngCreator.cpp b/core/jni/android_hardware_camera2_DngCreator.cpp index db33863ddd772..c947fba2dbd92 100644 --- a/core/jni/android_hardware_camera2_DngCreator.cpp +++ b/core/jni/android_hardware_camera2_DngCreator.cpp @@ -48,6 +48,7 @@ #include #include +#include using namespace android; using namespace img_utils; @@ -1264,16 +1265,14 @@ static void DngCreator_init(JNIEnv* env, jobject thiz, jobject characteristicsPt sp nativeContext = new NativeContext(characteristics, results); - const char* captureTime = env->GetStringUTFChars(formattedCaptureTime, nullptr); - - size_t len = strlen(captureTime) + 1; - if (len != NativeContext::DATETIME_COUNT) { + ScopedUtfChars captureTime(env, formattedCaptureTime); + if (captureTime.size() + 1 != NativeContext::DATETIME_COUNT) { jniThrowException(env, "java/lang/IllegalArgumentException", "Formatted capture time string length is not required 20 characters"); return; } - nativeContext->setCaptureTime(String8(captureTime)); + nativeContext->setCaptureTime(String8(captureTime.c_str())); DngCreator_setNativeContext(env, thiz, nativeContext); }