diff options
author | wenchangliu <wenchangliu@google.com> | 2023-03-10 06:32:59 +0000 |
---|---|---|
committer | Wen Chang Liu <wenchangliu@google.com> | 2023-03-13 03:29:12 +0000 |
commit | 31ad515db643b6873fed25952b3172aaf8161761 (patch) | |
tree | 4d696e72c00f3fc77ee13ab5b65e200d3005442d | |
parent | 6d24359dbab38ef643e6a2aa4964cd548ce3979e (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 436f7a2..24c6cac 100644 --- a/libhwc2.1/libdevice/ExynosLayer.cpp +++ b/libhwc2.1/libdevice/ExynosLayer.cpp @@ -713,7 +713,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; |