Bufferpool: Check hidl call return value.

Hidl will crash if hidl call failed and return value was not checked.
Check hidl call return values.

Bug: 132182836
Change-Id: I910025a7b3c508b3c8f289a5286abbcc77e2d9b8
gugelfrei
Sungtak Lee 5 years ago
parent d68496deee
commit 603467bfb5

@ -528,6 +528,10 @@ void BufferPoolClient::Impl::trySyncFromRemote() {
(void) outStatus;
(void) outBuffer;
});
if(!transResult.isOk()) {
ALOGD("sync from client %lld failed: bufferpool process died.",
(long long)mConnectionId);
}
}
mRemoteSyncLock.unlock();
}

@ -261,13 +261,19 @@ void Accessor::Impl::handleInvalidateAck() {
mBufferPool.mInvalidation.onHandleAck(&observers, &invalidationId);
}
// Do not hold lock for send invalidations
size_t deadClients = 0;
for (auto it = observers.begin(); it != observers.end(); ++it) {
const sp<IObserver> observer = it->second;
if (observer) {
Return<void> transResult = observer->onMessage(it->first, invalidationId);
(void) transResult;
if (!transResult.isOk()) {
++deadClients;
}
}
}
if (deadClients > 0) {
ALOGD("During invalidation found %zu dead clients", deadClients);
}
}
bool Accessor::Impl::isValid() {

@ -582,6 +582,10 @@ void BufferPoolClient::Impl::trySyncFromRemote() {
(void) outStatus;
(void) outBuffer;
});
if (!transResult.isOk()) {
ALOGD("sync from client %lld failed: bufferpool process died.",
(long long)mConnectionId);
}
}
mRemoteSyncLock.unlock();
}

Loading…
Cancel
Save