From 97017a02a6524b5a92a1881290aae5ea05d7d268 Mon Sep 17 00:00:00 2001 From: Tokunori Ikegami Date: Sun, 4 Feb 2024 23:22:08 +0900 Subject: [PATCH] nvme: Fix get-reg command to not use uninitialized value Just return the error with the bar memory free instead. Signed-off-by: Tokunori Ikegami --- nvme.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/nvme.c b/nvme.c index 3e024b0f12..ce9fb4f7f3 100644 --- a/nvme.c +++ b/nvme.c @@ -5431,10 +5431,11 @@ static int get_register_property(int fd, void **pbar, int offset) err = nvme_get_property(&args); if (nvme_status_equals(err, NVME_STATUS_TYPE_NVME, NVME_SC_INVALID_FIELD)) { - err = 0; value = -1; } else if (err) { nvme_show_error("get-property: %s", nvme_strerror(errno)); + free(bar); + return err; } if (nvme_is_64bit_reg(offset)) @@ -5442,12 +5443,9 @@ static int get_register_property(int fd, void **pbar, int offset) else *(uint32_t *)(bar + offset) = value; - if (err) - free(bar); - else - *pbar = bar; + *pbar = bar; - return err; + return 0; } static int get_register(int argc, char **argv, struct command *cmd, struct plugin *plugin)