diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2020-12-15 22:32:22 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2020-12-15 22:32:22 +0000 |
commit | 7fcf4360299b4ef13d5ac60ce792ebce619a1c7f (patch) | |
tree | 7e14fbebc9496fb4a4d45a0254704eb2e47fc9ee | |
parent | 202ac7716537678803f0270fd3a8c6699ce73bd3 (diff) | |
parent | 3ee6879e91eb132e0b24e2adefd4d8eae2491a62 (diff) | |
download | native-android11-mainline-release.tar.gz |
Snap for 7035108 from 3ee6879e91eb132e0b24e2adefd4d8eae2491a62 to mainline-releaseandroid-mainline-12.0.0_r55android-mainline-11.0.0_r8android-mainline-11.0.0_r7android-mainline-11.0.0_r5android-mainline-11.0.0_r45android-mainline-11.0.0_r33android-mainline-11.0.0_r19android-mainline-11.0.0_r10android11-mainline-release
Change-Id: Icf7d0ecc5ae62e811dad233a87f9fc0be1692c82
-rw-r--r-- | libs/binder/Parcel.cpp | 10 | ||||
-rw-r--r-- | services/surfaceflinger/SurfaceFlinger.cpp | 17 |
2 files changed, 17 insertions, 10 deletions
diff --git a/libs/binder/Parcel.cpp b/libs/binder/Parcel.cpp index 9642a87f4e..b7ad660317 100644 --- a/libs/binder/Parcel.cpp +++ b/libs/binder/Parcel.cpp @@ -1870,7 +1870,10 @@ const char* Parcel::readString8Inplace(size_t* outLen) const *outLen = size; const char* str = (const char*)readInplace(size+1); if (str != nullptr) { - return str; + if (str[size] == '\0') { + return str; + } + android_errorWriteLog(0x534e4554, "172655291"); } } *outLen = 0; @@ -1930,7 +1933,10 @@ const char16_t* Parcel::readString16Inplace(size_t* outLen) const *outLen = size; const char16_t* str = (const char16_t*)readInplace((size+1)*sizeof(char16_t)); if (str != nullptr) { - return str; + if (str[size] == u'\0') { + return str; + } + android_errorWriteLog(0x534e4554, "172655291"); } } *outLen = 0; diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index 07690cbf32..4a60d5c6f2 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -600,13 +600,6 @@ void SurfaceFlinger::bootFinished() if (mWindowManager != 0) { mWindowManager->linkToDeath(static_cast<IBinder::DeathRecipient*>(this)); } - sp<IBinder> input(defaultServiceManager()->getService( - String16("inputflinger"))); - if (input == nullptr) { - ALOGE("Failed to link to input service"); - } else { - mInputFlinger = interface_cast<IInputFlinger>(input); - } if (mVrFlinger) { mVrFlinger->OnBootFinished(); @@ -621,7 +614,15 @@ void SurfaceFlinger::bootFinished() LOG_EVENT_LONG(LOGTAG_SF_STOP_BOOTANIM, ns2ms(systemTime(SYSTEM_TIME_MONOTONIC))); - static_cast<void>(schedule([this] { + sp<IBinder> input(defaultServiceManager()->getService(String16("inputflinger"))); + + static_cast<void>(schedule([=] { + if (input == nullptr) { + ALOGE("Failed to link to input service"); + } else { + mInputFlinger = interface_cast<IInputFlinger>(input); + } + readPersistentProperties(); mPowerAdvisor.onBootFinished(); mBootStage = BootStage::FINISHED; |