You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
These were amazing test files, thank you for that. I'll add them to my test suite.
First problem was due to flag processing which I tried to "fix and improve" compared from MMCMP. I was obviously trying to be too clever (MELTED.XM)
The second file (BENJAM.IT) was really interesting: It has buffer overflow in it. The library rightfully threw an exception on attempted illegal access. However, I modified the code that instead of failing it will cut the output short. This fixed the issue. (Obviously any decompressor that does not handle this case gracefully has security issues...)
https://manx.datengang.de/openmpt/temp/mmcmp.zip contains 3 files, only mmcmp-ELECTR~1.MOD is decompressed successfully by ancient.
They have been compressed with MMCMP 1.34 (available here: http://cd.textfiles.com/scene96-2/programs/mmcmp134/).
OpenMPT/libopenmpt can decompress them successfully and match mmuncmp output exactly.
Our current implementation (BSD-3-Clause licensed, so only as reference): https://github.com/OpenMPT/openmpt/blob/master/soundlib/ContainerMMCMP.cpp.
I am no expert on actual compression formats, so I have not looked in any further detail.
The text was updated successfully, but these errors were encountered: