diff options
author | Dirk Best <mail@dirk-best.de> | 2017-10-25 13:13:54 +0200 |
---|---|---|
committer | Dirk Best <mail@dirk-best.de> | 2017-10-25 13:13:54 +0200 |
commit | b4e8282023cb11659d1b785d3c010549c0ebfae5 (patch) | |
tree | e0f300cd955d72f554646d97e3559a90e54049fa | |
parent | ad13bddaf637c12771f6068c13e320e651e30e58 (diff) |
dsk_dsk: Don't segfault on empty tracks (fixes einstein 4game)
-rw-r--r-- | src/lib/formats/dsk_dsk.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/lib/formats/dsk_dsk.cpp b/src/lib/formats/dsk_dsk.cpp index 08f76c90127..493c503c223 100644 --- a/src/lib/formats/dsk_dsk.cpp +++ b/src/lib/formats/dsk_dsk.cpp @@ -398,6 +398,11 @@ bool dsk_format::load(io_generic *io, uint32_t form_factor, floppy_image *image) continue; track_header tr; io_generic_read(io, &tr,track_offsets[(track<<1)+side],sizeof(tr)); + + // skip if there are no sectors in this track + if (tr.number_of_sector == 0) + continue; + desc_pc_sector sects[256]; uint8_t sect_data[65536]; int sdatapos = 0; |