diff options
Diffstat (limited to 'src/lib/formats/upd765_dsk.cpp')
-rw-r--r-- | src/lib/formats/upd765_dsk.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/lib/formats/upd765_dsk.cpp b/src/lib/formats/upd765_dsk.cpp index d9da1c5bd21..97d0daa7d6a 100644 --- a/src/lib/formats/upd765_dsk.cpp +++ b/src/lib/formats/upd765_dsk.cpp @@ -180,7 +180,13 @@ bool upd765_format::load(io_generic *io, UINT32 form_factor, floppy_image *image if(type == -1) return false; + // format shouldn't exceed image geometry const format &f = formats[type]; + int img_tracks, img_heads; + image->get_maximal_geometry(img_tracks, img_heads); + if (f.track_count > img_tracks || f.head_count > img_heads) + return false; + floppy_image_format_t::desc_e *desc; int current_size; int end_gap_index; |