This version fixes a number of buffer overruns, integer overflows, and uses of uninitialised data which may be triggered by reading malformed files; all users are advised to upgrade.
- library can now easier be used as a CMake subproject
- new CMake option
BW64_PACKAGE_AND_INSTALL
AxmlChunk::data()
; this allows access to the internal string, avoiding a copy when readingBw64Writer::close()
; this should be called before destruction to properly catch exceptions
- Renamed CMake library target name from
libbw64
tobw64
- Renamed CMake option
UNIT_TESTS
toBW64_UNIT_TESTS
- Renamed CMake option
EXAMPLES
toBW64_EXAMPLES
FormatInfoChunk::formatTag
now matches the formatTag in the file, rather than always returning 1- fmt parsing is stricter -- the chunk size must match the use of cbSize, and the presence if extra data is checked against the formatTag
- strings can be moved into
AxmlChunk
withstd::make_shared<AxmlChunk>(std:move(some_str))
, to avoid a copy when writing
- Fix sample rate parameter type in
writeFile()
andBW64Writer
ctor to support 96k samplerates - fmt extra data is now written correctly
- axml chunks greater than 4GB are now written correctly
- Additional unit tests
- Use
Catch2
instead ofBoost.Test
for unit testing
- Fix
Bw64Reader::seek()
andBw64Reader::tell()
implementation - RIFF chunk size calculation
Initial release