diff --git a/nvme.c b/nvme.c index 14a277bbe0..625e213f22 100644 --- a/nvme.c +++ b/nvme.c @@ -5430,7 +5430,7 @@ static int set_register(int argc, char **argv, struct command *cmd, struct plugi _cleanup_nvme_dev_ struct nvme_dev *dev = NULL; int err; - nvme_root_t r; + _cleanup_nvme_root_ nvme_root_t r; void *bar; struct config { @@ -5474,7 +5474,6 @@ static int set_register(int argc, char **argv, struct command *cmd, struct plugi nvme_register_to_string(cfg.offset), cfg.value); munmap(bar, getpagesize()); - nvme_free_tree(r); return err; } diff --git a/nvme.h b/nvme.h index 68b93ce410..a023333f35 100644 --- a/nvme.h +++ b/nvme.h @@ -106,6 +106,10 @@ static inline DEFINE_CLEANUP_FUNC( cleanup_nvme_dev, struct nvme_dev *, dev_close) #define _cleanup_nvme_dev_ __cleanup__(cleanup_nvme_dev) +static inline DEFINE_CLEANUP_FUNC( + cleanup_nvme_root, nvme_root_t, nvme_free_tree) +#define _cleanup_nvme_root_ __cleanup__(cleanup_nvme_root) + extern const char *output_format; int validate_output_format(const char *format, enum nvme_print_flags *flags);