S3M import: safety checks
This commit is contained in:
parent
40e14d88cc
commit
2aa38d3e6c
|
@ -128,6 +128,13 @@ bool DivEngine::loadS3M(unsigned char* file, size_t len) {
|
|||
unsigned short ordersLen=reader.readS();
|
||||
ds.insLen=reader.readS();
|
||||
|
||||
if (ordersLen>256) {
|
||||
logE("invalid order count!");
|
||||
lastError="invalid order count!";
|
||||
delete[] file;
|
||||
return false;
|
||||
}
|
||||
|
||||
logV("orders: %d",ordersLen);
|
||||
logV("instruments: %d",ds.insLen);
|
||||
|
||||
|
@ -142,6 +149,13 @@ bool DivEngine::loadS3M(unsigned char* file, size_t len) {
|
|||
|
||||
logV("patterns: %d",patCount);
|
||||
|
||||
if (patCount>256) {
|
||||
logE("invalid pattern count!");
|
||||
lastError="invalid pattern count!";
|
||||
delete[] file;
|
||||
return false;
|
||||
}
|
||||
|
||||
unsigned short flags=reader.readS();
|
||||
unsigned short version=reader.readS();
|
||||
bool signedSamples=(reader.readS()==1);
|
||||
|
|
Loading…
Reference in a new issue