diff options
author | wenchangliu <wenchangliu@google.com> | 2023-03-10 06:32:59 +0000 |
---|---|---|
committer | wenchangliu <wenchangliu@google.com> | 2023-03-10 10:52:17 +0000 |
commit | 8db840a76ddd07855a7c9581d66351cd47c025f0 (patch) | |
tree | f6e3b0da4ebfcab4be54052897e2c8c50442cc5f | |
parent | 3e4ac183f0da7b6d6bc36259b1d2b1b1f6896d9e (diff) |
libdevice: add bounds check when parsing HDR dynamic metadata
Bug: 252764175
Test: run PoC on hwasan build
Test: run cts -m CtsMediaDecoderTestCases -t android.media.decoder.cts.HDRDecoderTest
Change-Id: I424bd4624ee7838fcdf6e40d20e0686c17c20de8
-rw-r--r-- | libhwc2.1/libdevice/ExynosLayer.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libhwc2.1/libdevice/ExynosLayer.cpp b/libhwc2.1/libdevice/ExynosLayer.cpp index 2c6feaf..79a9ca1 100644 --- a/libhwc2.1/libdevice/ExynosLayer.cpp +++ b/libhwc2.1/libdevice/ExynosLayer.cpp @@ -719,7 +719,8 @@ int32_t ExynosLayer::setLayerPerFrameMetadataBlobs(uint32_t numElements, const i mMetaParcel->eType = static_cast<ExynosVideoInfoType>(mMetaParcel->eType | VIDEO_INFO_TYPE_HDR_DYNAMIC); ExynosHdrDynamicInfo *info = &(mMetaParcel->sHdrDynamicInfo); - Exynos_parsing_user_data_registered_itu_t_t35(info, (void *)metadata_start); + Exynos_parsing_user_data_registered_itu_t_t35(info, (void*)metadata_start, + sizes[i]); } else { ALOGE("Layer has no metaParcel!"); return HWC2_ERROR_UNSUPPORTED; |