From: Wu Bo Date: Mon, 27 Apr 2020 13:12:25 +0000 (+0800) Subject: nvme-cli:lightnvm:fix fd leak when do ioctl failed X-Git-Tag: v1.12~34 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=5c694eb1342336c0aa034a5ff8fe0bc74105c273;p=users%2Fhch%2Fnvme-cli.git nvme-cli:lightnvm:fix fd leak when do ioctl failed --- 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);