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

am: 88c21d596a

Change-Id: Ibe607d46226797ff4d419dcb18d6cfb3388b4c5c
This commit is contained in:
Andreas Huber
2016-09-09 16:01:35 +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); sp<hardware::IBinder> binder = JHwBinder::GetNativeContext(env, thiz);
status_t err = hardware::defaultServiceManager()->addService( status_t err = hardware::defaultServiceManager()->addService(
String16(reinterpret_cast<const char16_t *>(serviceName)), String16(
reinterpret_cast<const char16_t *>(serviceName),
env->GetStringLength(serviceNameObj)),
binder, binder,
kVersion); kVersion);
@@ -245,12 +247,15 @@ static jobject JHwBinder_native_getService(
LOG(INFO) << "looking for service '" LOG(INFO) << "looking for service '"
<< String8(String16( << String8(String16(
reinterpret_cast<const char16_t *>(serviceName))).string() reinterpret_cast<const char16_t *>(serviceName),
env->GetStringLength(serviceNameObj))).string()
<< "'"; << "'";
sp<hardware::IBinder> service = sp<hardware::IBinder> service =
hardware::defaultServiceManager()->getService( hardware::defaultServiceManager()->getService(
String16(reinterpret_cast<const char16_t *>(serviceName)), String16(
reinterpret_cast<const char16_t *>(serviceName),
env->GetStringLength(serviceNameObj)),
kVersion); kVersion);
env->ReleaseStringCritical(serviceNameObj, serviceName); env->ReleaseStringCritical(serviceNameObj, serviceName);