[RFC PATCH mtd-utils 011/110] mkfs.ubifs: Fix missed closing out_fd

Zhihao Cheng posted 110 patches 1 year, 8 months ago
[RFC PATCH mtd-utils 011/110] mkfs.ubifs: Fix missed closing out_fd
Posted by Zhihao Cheng 1 year, 8 months ago
Closing 'out_fd' is missed in handling paths in open_target(), fix it
by adding closing operations before returning.

Fixes: a48340c335dab ("mkfs.ubifs: use libubi to format UBI volume")
Signed-off-by: Zhihao Cheng <chengzhihao1@huawei.com>
---
 ubifs-utils/mkfs.ubifs/mkfs.ubifs.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/ubifs-utils/mkfs.ubifs/mkfs.ubifs.c b/ubifs-utils/mkfs.ubifs/mkfs.ubifs.c
index 6a4a4588..949187ea 100644
--- a/ubifs-utils/mkfs.ubifs/mkfs.ubifs.c
+++ b/ubifs-utils/mkfs.ubifs/mkfs.ubifs.c
@@ -2860,12 +2860,16 @@ static int open_target(void)
 		if (out_fd == -1)
 			return sys_errmsg("cannot open the UBI volume '%s'",
 					   output);
-		if (ubi_set_property(out_fd, UBI_VOL_PROP_DIRECT_WRITE, 1))
+		if (ubi_set_property(out_fd, UBI_VOL_PROP_DIRECT_WRITE, 1)) {
+			close(out_fd);
 			return sys_errmsg("ubi_set_property(set direct_write) failed");
+		}
 
 		if (!yes && check_volume_empty()) {
-			if (!prompt("UBI volume is not empty.  Format anyways?", false))
+			if (!prompt("UBI volume is not empty.  Format anyways?", false)) {
+				close(out_fd);
 				return errmsg("UBI volume is not empty");
+			}
 		}
 	} else {
 		out_fd = open(output, O_CREAT | O_RDWR | O_TRUNC,
-- 
2.13.6