summaryrefslogtreecommitdiffstatshomepage
path: root/src/tools/imgtool/iflopimg.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/imgtool/iflopimg.cpp')
-rw-r--r--src/tools/imgtool/iflopimg.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/tools/imgtool/iflopimg.cpp b/src/tools/imgtool/iflopimg.cpp
index 8bc63de9c6b..f6e79e6cd5d 100644
--- a/src/tools/imgtool/iflopimg.cpp
+++ b/src/tools/imgtool/iflopimg.cpp
@@ -140,6 +140,11 @@ static imgtoolerr_t imgtool_floppy_open_internal(imgtool::image &image, imgtool:
done:
if (f)
delete f;
+ if (err && fimg->floppy)
+ {
+ floppy_close(fimg->floppy);
+ fimg->floppy = nullptr;
+ }
return err;
}
@@ -200,6 +205,11 @@ static imgtoolerr_t imgtool_floppy_create(imgtool::image &image, imgtool::stream
done:
if (f)
delete f;
+ if (err && fimg->floppy)
+ {
+ floppy_close(fimg->floppy);
+ fimg->floppy = nullptr;
+ }
return err;
}