From df1617f4ef5f0ae3406dd7ae49685d341347ed4d Mon Sep 17 00:00:00 2001 From: OBattler Date: Wed, 15 Jan 2020 02:35:47 +0100 Subject: [PATCH] Added a sanity check to the MFM image code. --- src/floppy/fdd_mfm.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/floppy/fdd_mfm.c b/src/floppy/fdd_mfm.c index 879bc200e..c2062baad 100644 --- a/src/floppy/fdd_mfm.c +++ b/src/floppy/fdd_mfm.c @@ -338,7 +338,7 @@ mfm_read_side(int drive, int side) { mfm_t *dev = mfm[drive]; int track_index, track_size; - int track_bytes; + int track_bytes, ret; if (dev->hdr.if_type & 0x80) track_index = get_adv_track_index(drive, side, dev->cur_track); @@ -354,9 +354,11 @@ mfm_read_side(int drive, int side) memset(dev->track_data[side], 0x00, track_bytes); else { if (dev->hdr.if_type & 0x80) - fseek(dev->f, dev->adv_tracks[track_index].track_offset, SEEK_SET); + ret = fseek(dev->f, dev->adv_tracks[track_index].track_offset, SEEK_SET); else - fseek(dev->f, dev->tracks[track_index].track_offset, SEEK_SET); + ret = fseek(dev->f, dev->tracks[track_index].track_offset, SEEK_SET); + if (ret == -1) + fatal("MFM: Error seeking in mfm_read_side()\n"); fread(dev->track_data[side], 1, track_bytes, dev->f); }