diff --git a/camera/metadata/include/camera_metadata_operator.h b/camera/metadata/include/camera_metadata_operator.h index 8c1a812b7172148b2a1348951bb244b8e6c1ab87..2664d9a229d968953692b5946bd1faa63d112117 100644 --- a/camera/metadata/include/camera_metadata_operator.h +++ b/camera/metadata/include/camera_metadata_operator.h @@ -33,7 +33,6 @@ #define INDEX_COUNTER 2 #define WRAP_LENGTH 4 -#define ENTRY_DATA_SIZE 4 // data type enum { diff --git a/camera/metadata/include/metadata_utils.h b/camera/metadata/include/metadata_utils.h index 10f94f97460e5a59783df385cee4b69e45d62120..4ff73ea26583208cb66871259e94f43c523e52c5 100644 --- a/camera/metadata/include/metadata_utils.h +++ b/camera/metadata/include/metadata_utils.h @@ -23,7 +23,6 @@ #include "camera_metadata_info.h" #include "message_parcel.h" -#include "camera_metadata_item_info.h" namespace OHOS::Camera { class MetadataUtils { diff --git a/camera/metadata/src/camera_metadata_info.cpp b/camera/metadata/src/camera_metadata_info.cpp index d7dc536a3eeda098d842870ffe084faff254f27f..b5944047e29533e600c6150891482e8227d9e66e 100644 --- a/camera/metadata/src/camera_metadata_info.cpp +++ b/camera/metadata/src/camera_metadata_info.cpp @@ -955,7 +955,7 @@ int CameraMetadata::GetCameraMetadataItem(const common_metadata_header_t *src, u METADATA_ERR_LOG("GetCameraMetadataItem: memset_s failed"); return CAM_META_FAILURE; } - if (index >= src->item_count || index >= src->item_capacity) { + if (index >= src->item_count) { METADATA_ERR_LOG("GetCameraMetadataItem index is greater than item count"); return CAM_META_INVALID_PARAM; } diff --git a/camera/metadata/src/metadata_utils.cpp b/camera/metadata/src/metadata_utils.cpp index d71a43185c46c95792ce35877b7ec30e25aab41b..c8b23888d8d6ffac9d798fa52befaa51f933f989 100644 --- a/camera/metadata/src/metadata_utils.cpp +++ b/camera/metadata/src/metadata_utils.cpp @@ -103,13 +103,8 @@ bool MetadataUtils::ConvertMetadataToVec(const std::shared_ptr & WriteData(item.data_type, cameraAbility); WriteData(item.count, cameraAbility); if (item.count > MAX_SUPPORTED_ITEMS) { - METADATA_ERR_LOG("ConvertMetadataToVec item.count out of range:%{public}d", item.count); - return false; - } - uint32_t dataPayloadBytes = item.count * OHOS_CAMERA_METADATA_TYPE_SIZE[item.data_type]; - if (item.count > ENTRY_DATA_SIZE && - ((item.data.u8 + dataPayloadBytes) > (GetMetadataData(meta) + dataCapacity))) { - METADATA_ERR_LOG("ConvertMetadataToVec get meta item failed!"); + METADATA_ERR_LOG("ConvertMetadataToVec item.count out of range:%{public}d item:%{public}d", + item.count, item.item); return false; } WriteMetadataDataToVec(item, cameraAbility); diff --git a/camera/sequenceable/map_data/map_data_sequenceable.cpp b/camera/sequenceable/map_data/map_data_sequenceable.cpp index 31cd7b670381ab71816e90e3aa4a5889be9cdf34..898107bb82977c475cc49aae2b1f3ead28f89f19 100644 --- a/camera/sequenceable/map_data/map_data_sequenceable.cpp +++ b/camera/sequenceable/map_data/map_data_sequenceable.cpp @@ -46,7 +46,7 @@ sptr MapDataSequenceable::Unmarshalling(Parcel &parcel) } int32_t size = parcel.ReadInt32(); - if (size <= 0 || size > BUFFER_MAX_USER_DATA_COUNT) { + if (size < 0 || size > BUFFER_MAX_USER_DATA_COUNT) { HDI_CAMERA_LOGE("invalid size: %{public}d obtained from Parcel", size); return nullptr; }