From: Wu Bo Date: Wed, 6 May 2020 03:26:54 +0000 (+0800) Subject: nvme-cli:nvme:fix fd leak when an error occurs X-Git-Tag: v1.12~25 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=a2d3b257b4ea85b5e1753177a99785b12c865677;p=users%2Fhch%2Fnvme-cli.git nvme-cli:nvme:fix fd leak when an error occurs --- diff --git a/nvme.c b/nvme.c index 64b5750..f4218a3 100644 --- a/nvme.c +++ b/nvme.c @@ -148,10 +148,13 @@ static int open_dev(char *dev) fd = err; err = fstat(fd, &nvme_stat); - if (err < 0) + if (err < 0) { + close(fd); goto perror; + } if (!S_ISCHR(nvme_stat.st_mode) && !S_ISBLK(nvme_stat.st_mode)) { fprintf(stderr, "%s is not a block or character device\n", dev); + close(fd); return -ENODEV; } return fd;