diff --git a/camera/metadata/src/metadata_utils.cpp b/camera/metadata/src/metadata_utils.cpp index d71a43185c46c95792ce35877b7ec30e25aab41b..fa27c5ab78b7226e8ba7deeeb8a9cf24b3ca1f25 100644 --- a/camera/metadata/src/metadata_utils.cpp +++ b/camera/metadata/src/metadata_utils.cpp @@ -413,7 +413,9 @@ std::string MetadataUtils::EncodeToString(std::shared_ptr metada METADATA_ERR_LOG("MetadataUtils::EncodeToString Metadata is invalid"); return {}; } - + if (encodeDataLen < headerLength) { + return {}; + } common_metadata_header_t *meta = metadata->get(); int32_t encodeDataLen = headerLength + (itemLen * meta->item_count) + meta->data_count; std::string s(encodeDataLen, '\0');