fix: loading of base64 data from gltf files

This commit is contained in:
Jan
2025-01-23 21:17:30 +00:00
parent f6d36b2d6e
commit 94ca0ab79e
3 changed files with 27 additions and 4 deletions

View File

@ -48,11 +48,12 @@ bool DataUriBuffer::ReadDataFromUri(const std::string& uri)
if (!IsDataUri(uri))
return false;
const auto base64Data = &uri[URI_PREFIX_LENGTH];
const auto base64DataLength = uri.size() - URI_PREFIX_LENGTH;
m_data_size = base64::GetBase64DecodeOutputLength(base64DataLength);
m_data_size = base64::GetBase64DecodeOutputLength(base64Data, base64DataLength);
m_data = std::make_unique<uint8_t[]>(m_data_size);
m_data_size = base64::DecodeBase64(&uri[URI_PREFIX_LENGTH], base64DataLength, m_data.get(), m_data_size);
m_data_size = base64::DecodeBase64(base64Data, base64DataLength, m_data.get(), m_data_size);
return m_data_size > 0;
}