From: Minwoo Im Date: Thu, 25 Apr 2019 14:21:45 +0000 (+0900) Subject: list-ctrl: Do not return directly without freeing fd X-Git-Tag: v1.9~57^2 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=8e1b94b8458e603fbbb30a08a5adb68d26eee371;p=users%2Fsagi%2Fnvme-cli.git 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 --- 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;