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
diff --git a/media/bufferpool/2.0/AccessorImpl.cpp b/media/bufferpool/2.0/AccessorImpl.cpp
index 5260909..94cf006 100644
--- a/media/bufferpool/2.0/AccessorImpl.cpp
+++ b/media/bufferpool/2.0/AccessorImpl.cpp
@@ -261,13 +261,19 @@
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() {