From 5c694eb1342336c0aa034a5ff8fe0bc74105c273 Mon Sep 17 00:00:00 2001 From: Wu Bo Date: Mon, 27 Apr 2020 21:12:25 +0800 Subject: [PATCH] nvme-cli:lightnvm:fix fd leak when do ioctl failed --- nvme-lightnvm.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/nvme-lightnvm.c b/nvme-lightnvm.c index b833101..d81fac6 100644 --- a/nvme-lightnvm.c +++ b/nvme-lightnvm.c @@ -97,8 +97,10 @@ int lnvm_do_list_devices(void) return fd; ret = ioctl(fd, NVM_GET_DEVICES, &devs); - if (ret) + if (ret) { + lnvm_close(fd); return ret; + } printf("Number of devices: %u\n", devs.nr_devices); printf("%-12s\t%-12s\tVersion\n", "Device", "Block manager"); @@ -127,8 +129,10 @@ int lnvm_do_info(void) memset(&c, 0, sizeof(struct nvm_ioctl_info)); ret = ioctl(fd, NVM_INFO, &c); - if (ret) + if (ret) { + lnvm_close(fd); return ret; + } printf("LightNVM (%u,%u,%u). %u target type(s) registered.\n", c.version[0], c.version[1], c.version[2], c.tgtsize); -- 2.50.1