diff --git a/CMakeLists.txt b/CMakeLists.txt index 9b956680d4d4aeb1f0fd4315b3b3b5dc967ca669..1afc40971209d0596d806b8ccee597f8dc8b6ede 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,7 +4,7 @@ if(CCACHE_PROGRAM) set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CCACHE_PROGRAM}") endif() -project(OpenVDS VERSION 1.1.3) +project(OpenVDS VERSION 1.1.4) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/CMake") diff --git a/src/OpenVDS/BulkDataStore/HueBulkDataStore.cpp b/src/OpenVDS/BulkDataStore/HueBulkDataStore.cpp index 7c122939bf7806ae32faccfff8dd3f65c228dbbf..adc4caa73a5761562d4ac621b4619563a5926f1b 100644 --- a/src/OpenVDS/BulkDataStore/HueBulkDataStore.cpp +++ b/src/OpenVDS/BulkDataStore/HueBulkDataStore.cpp @@ -1076,11 +1076,14 @@ HueBulkDataStoreImpl::UpdateFileTable(DataStoreFileDescriptor const &fileDescrip int32_t fileNameLength = std::max(int32_t(fileDescriptor.m_fileName.length()), GetDataStoreHeader().m_fileNameLength); + // Round up to multiple of 8. + fileNameLength = (fileNameLength + 7) & ~7; + // Create new file table if necessary if (fileDescriptor.m_fileIndex == -1 || fileNameLength != GetDataStoreHeader().m_fileNameLength) { int - newFileTableEntrySize = (int)sizeof(FileHeader) + std::max((int)fileDescriptor.m_fileName.length(), GetDataStoreHeader().m_fileNameLength); + newFileTableEntrySize = (int)sizeof(FileHeader) + fileNameLength; DataStoreBuffer *fileTable = CreateBuffer(newFileTableEntrySize * (fileTableEntryCount + 1), ExtentAllocator::FileTableExtent);