diff options
Diffstat (limited to 'src/lib/util/chdcd.cpp')
-rw-r--r-- | src/lib/util/chdcd.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/lib/util/chdcd.cpp b/src/lib/util/chdcd.cpp index b69195a8a91..63a94ed7d4b 100644 --- a/src/lib/util/chdcd.cpp +++ b/src/lib/util/chdcd.cpp @@ -905,12 +905,14 @@ chd_error chdcd_parse_cue(const char *tocfname, cdrom_toc &outtoc, chdcd_track_i wavlen = parse_wav_sample(lastfname.c_str(), &wavoffs); if (!wavlen) { + fclose(infile); printf("ERROR: couldn't read [%s] or not a valid .WAV\n", lastfname.c_str()); return CHDERR_INVALID_DATA; } } else { + fclose(infile); printf("ERROR: Unhandled track type %s\n", token); return CHDERR_UNSUPPORTED_FORMAT; } @@ -952,6 +954,7 @@ chd_error chdcd_parse_cue(const char *tocfname, cdrom_toc &outtoc, chdcd_track_i cdrom_convert_type_string_to_track_info(token, &outtoc.tracks[trknum]); if (outtoc.tracks[trknum].datasize == 0) { + fclose(infile); printf("ERROR: Unknown track type [%s]. Contact MAMEDEV.\n", token); return CHDERR_UNSUPPORTED_FORMAT; } @@ -1297,6 +1300,7 @@ chd_error chdcd_parse_toc(const char *tocfname, cdrom_toc &outtoc, chdcd_track_i cdrom_convert_type_string_to_track_info(token, &outtoc.tracks[trknum]); if (outtoc.tracks[trknum].datasize == 0) { + fclose(infile); printf("ERROR: Unknown track type [%s]. Contact MAMEDEV.\n", token); return CHDERR_UNSUPPORTED_FORMAT; } |