size check for CDF data

This commit is contained in:
JetSetIlly 2024-04-17 10:22:46 +01:00
parent d431974c76
commit e47c37bd98

View file

@ -90,6 +90,11 @@ func NewCDF(env *environment.Environment, loader cartridgeloader.Loader, version
yieldHook: coprocessor.StubCartYieldHook{},
}
// size check
if cart.NumBanks()*cart.bankSize > loader.Size() {
return nil, fmt.Errorf("CDF: not enough bytes in cartridge data")
}
cart.version, err = newVersion(env.Prefs.ARM.Model.Get().(string), version, data)
if err != nil {
return nil, fmt.Errorf("CDF: %w", err)