summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Nathan Woods <npwoods@mess.org>2016-10-15 18:09:51 -0400
committer Nathan Woods <npwoods@mess.org>2016-10-15 18:09:51 -0400
commit039cd619d51150a711b2f7861a5b138192545bff (patch)
tree65a1ebfab3fbec76baa4f725a8a0ed9c546e76e4 /src
parentc58b56e0c66c9f065466520ed7ab342c39818a4d (diff)
[Imgtool] Fixed a stupid mistake
Diffstat (limited to 'src')
-rw-r--r--src/tools/imgtool/iflopimg.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/tools/imgtool/iflopimg.cpp b/src/tools/imgtool/iflopimg.cpp
index bf44774e704..4863fd130a3 100644
--- a/src/tools/imgtool/iflopimg.cpp
+++ b/src/tools/imgtool/iflopimg.cpp
@@ -105,7 +105,7 @@ struct imgtool_floppy_image
static imgtoolerr_t imgtool_floppy_open_internal(imgtool::image *image, imgtool::stream::ptr &&stream, int noclose)
{
floperr_t ferr;
- imgtoolerr_t err;
+ imgtoolerr_t err = IMGTOOLERR_SUCCESS;
imgtool::stream *f = nullptr;
struct imgtool_floppy_image *fimg;
const imgtool_class *imgclass;
@@ -126,7 +126,7 @@ static imgtoolerr_t imgtool_floppy_open_internal(imgtool::image *image, imgtool:
if (ferr)
{
err = imgtool_floppy_error(ferr);
- return err;
+ goto done;
}
f = nullptr; // the floppy object has the stream now
@@ -134,10 +134,13 @@ static imgtoolerr_t imgtool_floppy_open_internal(imgtool::image *image, imgtool:
{
err = open(image, nullptr);
if (err)
- return err;
+ goto done;
}
- return IMGTOOLERR_SUCCESS;
+done:
+ if (f)
+ delete f;
+ return err;
}