Fix BASSMODS IT input, and add MO3 signature check.

CQTexperiment
Christopher Snowhill 2017-12-27 15:16:27 -08:00
parent 3a2be5c261
commit cade10be22
1 changed files with 3 additions and 3 deletions

View File

@ -76,6 +76,8 @@ static void SyncProc( HSYNC handle, DWORD channel, DWORD data, void *user )
- (BOOL)open:(id<CogSource>)s
{
[self setSource:s];
[source seek:0 whence:SEEK_END];
long size = [source tell];
[source seek:0 whence:SEEK_SET];
@ -89,14 +91,12 @@ static void SyncProc( HSYNC handle, DWORD channel, DWORD data, void *user )
data = try_data;
}
if (memcmp(data, "IMPM", 4) != 0) {
if (size < 4 || (memcmp(data, "mo3", 3) != 0 && memcmp(data, "IMPM", 4) != 0)) {
ALog(@"BASS was passed a non-IT module");
free(data);
return NO;
}
[self setSource:s];
NSURL * url = [s url];
int track_num;
if ([[url fragment] length] == 0)