engines/nvme: fix 'fd' leak in error handling
authorJens Axboe <axboe@kernel.dk>
Thu, 2 Jun 2022 09:56:51 +0000 (03:56 -0600)
committerJens Axboe <axboe@kernel.dk>
Thu, 2 Jun 2022 09:56:51 +0000 (03:56 -0600)
Signed-off-by: Jens Axboe <axboe@kernel.dk>
engines/nvme.c

index 59550deff7677f0f5418f52681ac89f60d0afd4f..fe33e167f397ed9da1902d7f71cdee341442e15f 100644 (file)
@@ -182,8 +182,10 @@ int fio_nvme_report_zones(struct thread_data *td, struct fio_file *f,
        zones_fetched = 0;
        zr_len = sizeof(*zr) + (zones_chunks * sizeof(struct nvme_zns_desc));
        zr = calloc(1, zr_len);
-       if (!zr)
+       if (!zr) {
+               close(fd);
                return -ENOMEM;
+       }
 
        ret = nvme_identify(fd, data->nsid, NVME_IDENTIFY_CNS_NS,
                                NVME_CSI_NVM, &ns);