summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Lubomir Rintel <lkundrak@v3.sk>2023-10-29 12:51:44 +0100
committer GitHub <noreply@github.com>2023-10-29 07:51:44 -0400
commit1e3d35e96211b3da2f7c0ed6f4425ec08f043855 (patch)
treee865a025e79bfd905445edf35f49b38c465625ce
parent683bf788bb07fe8d53d3f11a1f1320bf2f737aba (diff)
imgtool/bml3: fix a crash when format doesn't implement get_sectors_per_track() (#11673)
-rw-r--r--src/tools/imgtool/modules/bml3.cpp5
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, &sector_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