]> www.infradead.org Git - users/sagi/nvme-cli.git/commitdiff
nvme-cli: fix leak in endurance_log command
authorMinwoo Im <minwoo.im.dev@gmail.com>
Mon, 9 Apr 2018 17:27:22 +0000 (02:27 +0900)
committerMinwoo Im <minwoo.im.dev@gmail.com>
Mon, 9 Apr 2018 17:27:22 +0000 (02:27 +0900)
Fix file descriptor leak in endurance_log subcommand.

Signed-off-by: Minwoo Im <minwoo.im.dev@gmail.com>
nvme.c

diff --git a/nvme.c b/nvme.c
index 0d42863bdb69a3717a14e2c536989cd5840f6e30..cebfd3f66f88f958cddbaebc24d75691ab3a4b7c 100644 (file)
--- a/nvme.c
+++ b/nvme.c
@@ -370,8 +370,10 @@ static int get_endurance_log(int argc, char **argv, struct command *cmd, struct
                return fd;
 
        fmt = validate_output_format(cfg.output_format);
-       if (fmt < 0)
-               return fmt;
+       if (fmt < 0) {
+               err = fmt;
+               goto close_fd;
+       }
 
        err = nvme_endurance_log(fd, cfg.group_id, &endurance_log);
        if (!err) {
@@ -387,6 +389,7 @@ static int get_endurance_log(int argc, char **argv, struct command *cmd, struct
        else
                perror("endurance log");
 
+ close_fd:
        close(fd);
        return err;
 }