From 1e3d35e96211b3da2f7c0ed6f4425ec08f043855 Mon Sep 17 00:00:00 2001 From: Lubomir Rintel Date: Sun, 29 Oct 2023 12:51:44 +0100 Subject: imgtool/bml3: fix a crash when format doesn't implement get_sectors_per_track() (#11673) --- src/tools/imgtool/modules/bml3.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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 -- cgit v1.2.3