diff --git a/camera/metadata/src/metadata_utils.cpp b/camera/metadata/src/metadata_utils.cpp index 40cb21571a56703971c6da5aafea55f1f4db5a13..ebf2d931e3019fd22e3418946837957020b28e0e 100644 --- a/camera/metadata/src/metadata_utils.cpp +++ b/camera/metadata/src/metadata_utils.cpp @@ -82,13 +82,13 @@ bool MetadataUtils::ConvertMetadataToVec(const std::shared_ptr & } uint32_t itemCapacity = GetCameraMetadataItemCapacity(meta); - if (itemCapacity > MAX_ITEM_CAPACITY) { + if (itemCapacity > MAX_ITEM_CAPACITY || itemCapacity == 0) { METADATA_ERR_LOG("ConvertMetadataToVec itemCapacity out of range:%{public}d", itemCapacity); return false; } uint32_t dataCapacity = GetCameraMetadataDataSize(meta); - if (dataCapacity > MAX_DATA_CAPACITY) { + if (dataCapacity > MAX_DATA_CAPACITY || dataCapacity == 0) { METADATA_ERR_LOG("ConvertMetadataToVec dataCapacity out of range:%{public}d", dataCapacity); return false; }