summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib
diff options
context:
space:
mode:
author Dirk Best <mail@dirk-best.de>2017-11-29 10:18:48 +0100
committer Dirk Best <mail@dirk-best.de>2017-11-29 10:19:03 +0100
commit5676444d8cf9da4b27ceba2efd0a2d82a343cc57 (patch)
tree82db5f258a26ff3f607ed5870f89a54cd0497c37 /src/lib
parent1826aa157eba048d7119cdebebf42d42bc55c904 (diff)
jvc_dsk: Fix MT #06779
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/formats/jvc_dsk.cpp18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/lib/formats/jvc_dsk.cpp b/src/lib/formats/jvc_dsk.cpp
index 3c230eed3cd..d2e7e503d3b 100644
--- a/src/lib/formats/jvc_dsk.cpp
+++ b/src/lib/formats/jvc_dsk.cpp
@@ -84,16 +84,20 @@ bool jvc_format::parse_header(io_generic *io, int &header_size, int &tracks, int
int os9_total_sectors = pick_integer_be(os9_header, 0x00, 3);
int os9_heads = BIT(os9_header[0x10], 0) ? 2 : 1;
int os9_sectors = pick_integer_be(os9_header, 0x11, 2);
- int os9_tracks = os9_total_sectors / os9_sectors / os9_heads;
- // now let's see if we have valid info
- if ((os9_tracks * os9_heads * os9_sectors * 256) == size)
+ if (os9_total_sectors > 0 && os9_heads > 0 && os9_sectors > 0)
{
- tracks = os9_tracks;
- heads = os9_heads;
- sectors = os9_sectors;
+ int os9_tracks = os9_total_sectors / os9_sectors / os9_heads;
- osd_printf_verbose("OS-9 format disk image detected.\n");
+ // now let's see if we have valid info
+ if ((os9_tracks * os9_heads * os9_sectors * 256) == size)
+ {
+ tracks = os9_tracks;
+ heads = os9_heads;
+ sectors = os9_sectors;
+
+ osd_printf_verbose("OS-9 format disk image detected.\n");
+ }
}
}