diff options
author | 2023-10-29 12:51:44 +0100 | |
---|---|---|
committer | 2023-10-29 07:51:44 -0400 | |
commit | 1e3d35e96211b3da2f7c0ed6f4425ec08f043855 (patch) | |
tree | e865a025e79bfd905445edf35f49b38c465625ce | |
parent | 683bf788bb07fe8d53d3f11a1f1320bf2f737aba (diff) |
imgtool/bml3: fix a crash when format doesn't implement get_sectors_per_track() (#11673)
-rw-r--r-- | src/tools/imgtool/modules/bml3.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/tools/imgtool/modules/bml3.cpp b/src/tools/imgtool/modules/bml3.cpp index 8ab81bc12cf..68c6b8d51ca 100644 --- a/src/tools/imgtool/modules/bml3.cpp +++ b/src/tools/imgtool/modules/bml3.cpp @@ -517,7 +517,10 @@ static imgtoolerr_t bml3_diskimage_open(imgtool::image &image, imgtool::stream:: ferr = callbacks->get_sector_length(floppy, 0, 20, 1, §or_length); if (ferr) return imgtool_floppy_error(ferr); - int sectors_per_track = callbacks->get_sectors_per_track(floppy, 0, 20); + + int sectors_per_track = -1; + if (callbacks->get_sectors_per_track) + sectors_per_track = callbacks->get_sectors_per_track(floppy, 0, 20); if (heads_per_disk == 2 && sector_length == 128 && sectors_per_track == 16) { // single-sided, single-density |