From 5676444d8cf9da4b27ceba2efd0a2d82a343cc57 Mon Sep 17 00:00:00 2001 From: Dirk Best Date: Wed, 29 Nov 2017 10:18:48 +0100 Subject: jvc_dsk: Fix MT #06779 --- src/lib/formats/jvc_dsk.cpp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'src/lib') 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"); + } } } -- cgit v1.2.3