Author: sagamusix
Date: Sun Jun 2 16:48:17 2024
New Revision: 20905
URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=20905
Log:
Merged revision(s) 20901-20904 from trunk/OpenMPT:
[Fix] PSM: File header probing was stricter than actual file loader.
........
[Fix] DSm: Don't import as Amiga module, as this format can exceed the Amiga frequency range.
........
[Fix] Fuzzer: Don't return from the AFL loop if we weren't able to load a file.
........
[Fix] PSM: Header probing was still too strict.
........
Modified:
branches/OpenMPT-1.31/ (props changed)
branches/OpenMPT-1.31/contrib/fuzzing/fuzz.cpp
branches/OpenMPT-1.31/soundlib/Load_dsm.cpp
branches/OpenMPT-1.31/soundlib/Load_psm.cpp
Modified: branches/OpenMPT-1.31/contrib/fuzzing/fuzz.cpp
==============================================================================
--- branches/OpenMPT-1.31/contrib/fuzzing/fuzz.cpp Sun Jun 2 16:47:37 2024 (r20904)
+++ branches/OpenMPT-1.31/contrib/fuzzing/fuzz.cpp Sun Jun 2 16:48:17 2024 (r20905)
@@ -60,7 +60,7 @@
OpenMPT::mpt::reinit_global_random();
openmpt_module * mod = openmpt_module_create_from_memory2( fileBuffer, fileSize, nullptr, nullptr, ErrFunc, nullptr, nullptr, nullptr, nullptr);
if ( mod == NULL )
- return 1;
+ break;
// verify API contract: If the file can be loaded, header probing must be successful too.
if ( openmpt_probe_file_header( OPENMPT_PROBE_FILE_HEADER_FLAGS_DEFAULT, fileBuffer, fileSize, fileSize, nullptr, nullptr, ErrFunc, nullptr, nullptr, nullptr ) == OPENMPT_PROBE_FILE_HEADER_RESULT_FAILURE )
Modified: branches/OpenMPT-1.31/soundlib/Load_dsm.cpp
==============================================================================
--- branches/OpenMPT-1.31/soundlib/Load_dsm.cpp Sun Jun 2 16:47:37 2024 (r20904)
+++ branches/OpenMPT-1.31/soundlib/Load_dsm.cpp Sun Jun 2 16:48:17 2024 (r20905)
@@ -401,7 +401,7 @@
return true;
InitializeGlobals(MOD_TYPE_MOD);
- m_SongFlags.set(SONG_IMPORTED);
+ m_SongFlags = SONG_IMPORTED;
m_nChannels = fileHeader.numChannels;
static_assert(MAX_BASECHANNELS >= 32 && MAX_SAMPLES > 255);
m_nSamples = fileHeader.numSamples;
Modified: branches/OpenMPT-1.31/soundlib/Load_psm.cpp
==============================================================================
--- branches/OpenMPT-1.31/soundlib/Load_psm.cpp Sun Jun 2 16:47:37 2024 (r20904)
+++ branches/OpenMPT-1.31/soundlib/Load_psm.cpp Sun Jun 2 16:48:17 2024 (r20905)
@@ -263,19 +263,6 @@
{
return ProbeFailure;
}
- PSMChunk chunkHeader;
- if(!file.ReadStruct(chunkHeader))
- {
- return ProbeWantMoreData;
- }
- if(chunkHeader.length == 0)
- {
- return ProbeFailure;
- }
- if((chunkHeader.id & 0x7F7F7F7Fu) != chunkHeader.id) // ASCII?
- {
- return ProbeFailure;
- }
MPT_UNREFERENCED_PARAMETER(pfilesize);
return ProbeSuccess;
}
|