From 8999ef158d26d9e7fe01c3d4989340342f9c69aa Mon Sep 17 00:00:00 2001 From: Zhihao Cheng Date: Thu, 22 Feb 2024 20:27:58 +0800 Subject: mkfs.ubifs: Fix missed closing out_fd 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 Signed-off-by: David Oberhollenzer --- ubifs-utils/mkfs.ubifs/mkfs.ubifs.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'ubifs-utils') diff --git a/ubifs-utils/mkfs.ubifs/mkfs.ubifs.c b/ubifs-utils/mkfs.ubifs/mkfs.ubifs.c index f5e2eb2..453a5c7 100644 --- a/ubifs-utils/mkfs.ubifs/mkfs.ubifs.c +++ b/ubifs-utils/mkfs.ubifs/mkfs.ubifs.c @@ -2848,12 +2848,16 @@ static int open_target(void) if (out_fd == -1) return sys_err_msg("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_err_msg("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 err_msg("UBI volume is not empty"); + } } } else { out_fd = open(output, O_CREAT | O_RDWR | O_TRUNC, -- cgit v1.2.3