From 398fd57d3f342953f9257a470ff7b58789d0cb9f Mon Sep 17 00:00:00 2001 From: Chaitanya Kulkarni Date: Sun, 19 Aug 2018 20:36:05 -0400 Subject: [PATCH] nvme-cli: code cleanup for passthru() handlers Get rid of the duplicate free of the metadata pointer in case memory allocation fails for the data pointer. Close wfd file in case of any resource allocation failure if applicable. Signed-off-by: Chaitanya Kulkarni --- nvme.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/nvme.c b/nvme.c index 029a5580..88e64af3 100644 --- a/nvme.c +++ b/nvme.c @@ -4451,13 +4451,11 @@ static int passthru(int argc, char **argv, int ioctl_cmd, const char *desc, stru if (!metadata) { fprintf(stderr, "can not allocate metadata payload\n"); err = ENOMEM; - goto close_fd; + goto close_wfd; } } if (cfg.data_len) { if (posix_memalign(&data, getpagesize(), cfg.data_len)) { - if (metadata) - free(metadata); fprintf(stderr, "can not allocate data payload\n"); err = ENOMEM; goto free_metadata; @@ -4524,6 +4522,10 @@ static int passthru(int argc, char **argv, int ioctl_cmd, const char *desc, stru free_metadata: if (cfg.metadata_len) free(metadata); + + close_wfd: + if (strlen(cfg.input_file)) + close(wfd); close_fd: close(fd); return err; -- 2.50.1