GraphicsTracker: Do not crash from getting AHardwareBuffer id
In certain cases a GraphicBlock not based on AHardwareBuffer can be
passed to GraphicsTacker. Currently those blocks cause crashes on
getting AHardwareBuffer id. Do not crash in those cases.
Bug: 362729602
Flags: EXEMPT bugfix
Test: m
Change-Id: I347a8da090f75c5b68901cf225d74a2d0bb72b7c
diff --git a/media/codec2/hal/client/GraphicsTracker.cpp b/media/codec2/hal/client/GraphicsTracker.cpp
index efac892..bdfc409 100644
--- a/media/codec2/hal/client/GraphicsTracker.cpp
+++ b/media/codec2/hal/client/GraphicsTracker.cpp
@@ -34,7 +34,7 @@
c2_status_t retrieveAHardwareBufferId(const C2ConstGraphicBlock &blk, uint64_t *bid) {
std::shared_ptr<const _C2BlockPoolData> bpData = _C2BlockFactory::GetGraphicBlockPoolData(blk);
- if (bpData->getType() != _C2BlockPoolData::TYPE_AHWBUFFER) {
+ if (!bpData || bpData->getType() != _C2BlockPoolData::TYPE_AHWBUFFER) {
return C2_BAD_VALUE;
}
if (__builtin_available(android __ANDROID_API_T__, *)) {