From 8e1b94b8458e603fbbb30a08a5adb68d26eee371 Mon Sep 17 00:00:00 2001 From: Minwoo Im Date: Thu, 25 Apr 2019 23:21:45 +0900 Subject: [PATCH] list-ctrl: Do not return directly without freeing fd It was returning an error value without freeding open fd for the device. This patch replaces 'return' with 'goto' to free fd. Signed-off-by: Minwoo Im --- nvme.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nvme.c b/nvme.c index 9f088a61..cd0e6415 100644 --- a/nvme.c +++ b/nvme.c @@ -925,7 +925,8 @@ static int list_ctrl(int argc, char **argv, struct command *cmd, struct plugin * if (posix_memalign((void *)&cntlist, getpagesize(), 0x1000)) { fprintf(stderr, "can not allocate controller list payload\n"); - return ENOMEM; + err = -ENOMEM; + goto close_fd; } err = nvme_identify_ctrl_list(fd, cfg.namespace_id, cfg.cntid, cntlist); @@ -942,6 +943,7 @@ static int list_ctrl(int argc, char **argv, struct command *cmd, struct plugin * free(cntlist); +close_fd: close(fd); return err; -- 2.50.1