diff --git a/Plugins/sidplay/SidContainer.mm b/Plugins/sidplay/SidContainer.mm index a59c59c1d..0c08e6edf 100755 --- a/Plugins/sidplay/SidContainer.mm +++ b/Plugins/sidplay/SidContainer.mm @@ -53,6 +53,9 @@ SidTune * tune = new SidTune( (const uint_least8_t*)data, size ); + if (!tune->getStatus()) + return 0; + const SidTuneInfo * info = tune->getInfo(); unsigned int subsongs = info->songs(); diff --git a/Plugins/sidplay/SidDecoder.mm b/Plugins/sidplay/SidDecoder.mm index 3975320be..d5c202744 100755 --- a/Plugins/sidplay/SidDecoder.mm +++ b/Plugins/sidplay/SidDecoder.mm @@ -31,6 +31,9 @@ tune = new SidTune((const uint_least8_t *)data, (uint_least32_t)size); + if (!tune->getStatus()) + return NO; + NSURL * url = [s url]; int track_num; if ([[url fragment] length] == 0) @@ -50,7 +53,7 @@ engine->setRoms( kernel, basic, chargen ); - if ( engine->load( tune ) < 0 ) + if ( !engine->load( tune ) ) return NO; ReSIDfpBuilder * _builder = new ReSIDfpBuilder("ReSIDfp"); diff --git a/Plugins/sidplay/SidMetadataReader.mm b/Plugins/sidplay/SidMetadataReader.mm index fbce16337..93f64df02 100644 --- a/Plugins/sidplay/SidMetadataReader.mm +++ b/Plugins/sidplay/SidMetadataReader.mm @@ -47,6 +47,10 @@ [source read:data amount:size]; SidTune * tune = new SidTune( (const uint_least8_t *)data, (uint_least32_t)size ); + + if (!tune->getStatus()) + return 0; + const SidTuneInfo * info = tune->getInfo(); unsigned int count = info->numberOfInfoStrings();