bootutil: Close flash_area after failure to read swap information
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
diff --git a/boot/bootutil/src/swap_misc.c b/boot/bootutil/src/swap_misc.c
index 8ae7f7b..733a397 100644
--- a/boot/bootutil/src/swap_misc.c
+++ b/boot/bootutil/src/swap_misc.c
@@ -166,7 +166,8 @@
off = boot_swap_info_off(fap);
rc = flash_area_read(fap, off, &swap_info, sizeof swap_info);
if (rc != 0) {
- return BOOT_EFLASH;
+ rc = BOOT_EFLASH;
+ goto done;
}
if (bootutil_buffer_is_erased(fap, &swap_info, sizeof swap_info)) {
@@ -178,6 +179,7 @@
bs->swap_type = BOOT_GET_SWAP_TYPE(swap_info);
}
+done:
flash_area_close(fap);
return rc;