diff --git a/services/data_process/src/pipeline_node/scale_conversion/scale_convert_process_common.cpp b/services/data_process/src/pipeline_node/scale_conversion/scale_convert_process_common.cpp index b43bc9f2cbedf6e8f1b24abf47f0b49da14d6d41..bb96719dd25eb3cef1fa9c5e1f69ae4963045e35 100644 --- a/services/data_process/src/pipeline_node/scale_conversion/scale_convert_process_common.cpp +++ b/services/data_process/src/pipeline_node/scale_conversion/scale_convert_process_common.cpp @@ -21,6 +21,8 @@ namespace OHOS { namespace DistributedHardware { + +const int32_t MAX_IMG_SIZE = 46340; ScaleConvertProcess::~ScaleConvertProcess() { DumpFileUtil::CloseDumpFile(&dumpFile_); @@ -164,6 +166,11 @@ int32_t ScaleConvertProcess::GetImageUnitInfo(ImageUnitInfo& imgInfo, const std: return DCAMERA_BAD_VALUE; } + if (imgInfo.alignedWidth > MAX_IMG_SIZE && imgInfo.alignedHeight > MAX_IMG_SIZE) { + DHLOGE("imgInfo aligned width and height out of range"); + return DCAMERA_BAD_VALUE; + } + bool findErr = true; int32_t colorFormat = 0; findErr = findErr && imgBuf->FindInt32("Videoformat", colorFormat);