Merge "char16 strings returned by JNIEnv::GetStringCritical are not '\0' terminated."

am: 077678590f

Change-Id: I0156dc289ab61dda9bf8330f40d678c8c2bb8163
This commit is contained in:
Andreas Huber
2016-09-09 15:56:30 +00:00
committed by android-build-merger

View File

@@ -213,7 +213,9 @@ static void JHwBinder_native_registerService(
sp<hardware::IBinder> binder = JHwBinder::GetNativeContext(env, thiz);
status_t err = hardware::defaultServiceManager()->addService(
String16(reinterpret_cast<const char16_t *>(serviceName)),
String16(
reinterpret_cast<const char16_t *>(serviceName),
env->GetStringLength(serviceNameObj)),
binder,
kVersion);
@@ -245,12 +247,15 @@ static jobject JHwBinder_native_getService(
LOG(INFO) << "looking for service '"
<< String8(String16(
reinterpret_cast<const char16_t *>(serviceName))).string()
reinterpret_cast<const char16_t *>(serviceName),
env->GetStringLength(serviceNameObj))).string()
<< "'";
sp<hardware::IBinder> service =
hardware::defaultServiceManager()->getService(
String16(reinterpret_cast<const char16_t *>(serviceName)),
String16(
reinterpret_cast<const char16_t *>(serviceName),
env->GetStringLength(serviceNameObj)),
kVersion);
env->ReleaseStringCritical(serviceNameObj, serviceName);