fix potential read null pointer
Codec2Client::Component::HidlListener::onworkdone() could potentially
receive invalid workBundle because decoder has already been destructed.
this causes objcpy() of types.cpp read null pointer.
Bug: 242686314
Test: mediarecorder CTS test
Merged-In: I915aeea4e6a1ab06ca2c86c78f3f27f1046d38a1
Change-Id: I915aeea4e6a1ab06ca2c86c78f3f27f1046d38a1
diff --git a/media/codec2/hidl/1.0/utils/types.cpp b/media/codec2/hidl/1.0/utils/types.cpp
index 5c24bd7..35a3b53 100644
--- a/media/codec2/hidl/1.0/utils/types.cpp
+++ b/media/codec2/hidl/1.0/utils/types.cpp
@@ -1447,6 +1447,10 @@
bool objcpy(C2BaseBlock* d, const BaseBlock& s) {
switch (s.getDiscriminator()) {
case BaseBlock::hidl_discriminator::nativeBlock: {
+ if (s.nativeBlock() == nullptr) {
+ LOG(ERROR) << "Null BaseBlock::nativeBlock handle";
+ return false;
+ }
native_handle_t* sHandle =
native_handle_clone(s.nativeBlock());
if (sHandle == nullptr) {