From 9afc5445148c0e53349c69b7e5304f202ce0d2f9 Mon Sep 17 00:00:00 2001 From: huangshengqing Date: Wed, 18 Sep 2024 20:17:12 +0800 Subject: [PATCH] f Signed-off-by: huangshengqing --- camera/metadata/src/camera_metadata_info.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/camera/metadata/src/camera_metadata_info.cpp b/camera/metadata/src/camera_metadata_info.cpp index 68903153..41095acd 100644 --- a/camera/metadata/src/camera_metadata_info.cpp +++ b/camera/metadata/src/camera_metadata_info.cpp @@ -951,18 +951,21 @@ int CameraMetadata::copyMetadataMemory(common_metadata_header_t *dst, camera_met int CameraMetadata::UpdateameraMetadataItemSize(camera_metadata_item_entry_t *item, uint32_t dataCount, common_metadata_header_t *dst, const void *data) { - if (item == nullptr || dst == nullptr) { - METADATA_ERR_LOG("UpdateameraMetadataItemSize item is null or dst is null"); + if (item == nullptr) { + METADATA_ERR_LOG("UpdateameraMetadataItemSize item is null"); return CAM_META_FAILURE; - } else if (item->data_type < META_TYPE_BYTE || item->data_type >= META_NUM_TYPES || - item->data.offset > dst->item_count * OHOS_CAMERA_METADATA_TYPE_SIZE[item->data_type]) { - METADATA_ERR_LOG("UpdateameraMetadataItemSize invalid item"); + } else if (item->data_type < META_TYPE_BYTE || item->data_type >= META_NUM_TYPES) { + METADATA_ERR_LOG("UpdateameraMetadataItemSize invalid datatype:%{public}d", item->data_type); return CAM_META_FAILURE; } size_t dataSize = CalculateCameraMetadataItemDataSize(item->data_type, dataCount); size_t dataPayloadSize = dataCount * OHOS_CAMERA_METADATA_TYPE_SIZE[item->data_type]; size_t oldItemSize = CalculateCameraMetadataItemDataSize(item->data_type, item->count); int32_t ret = CAM_META_SUCCESS; + if (item == nullptr || dst == nullptr) { + METADATA_ERR_LOG("UpdateameraMetadataItemSize item is null or dst is null"); + return CAM_META_FAILURE; + } if (dataSize != oldItemSize) { if (dst->data_capacity < (dst->data_count + dataSize - oldItemSize)) { METADATA_ERR_LOG("UpdateCameraMetadataItemByIndex data_capacity limit reached"); -- Gitee