From: Francis Pravin Date: Fri, 10 May 2024 09:46:36 +0000 (+0530) Subject: nvme: remove double free in persistent-event-log X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=3d53db94f0c522773bb83bf0119e9d19cc9c7a3d;p=users%2Fsagi%2Fnvme-cli.git nvme: remove double free in persistent-event-log The pevent_collected structure uses the buffer address which is allocated using nvme_alloc_huge(). So, pevent_collected and mh.p has same address. Hence, remove _cleanup_free_ from pevent_collected to prevent double free. Signed-off-by: Francis Pravin Signed-off-by: Sathyavathi M --- diff --git a/nvme.c b/nvme.c index 8c767b06..46a2399a 100644 --- a/nvme.c +++ b/nvme.c @@ -1475,8 +1475,8 @@ static int get_persistent_event_log(int argc, char **argv, "processing this persistent log page command."; const char *log_len = "number of bytes to retrieve"; - _cleanup_free_ struct nvme_persistent_event_log *pevent_collected = NULL; _cleanup_free_ struct nvme_persistent_event_log *pevent = NULL; + struct nvme_persistent_event_log *pevent_collected = NULL; _cleanup_huge_ struct nvme_mem_huge mh = { 0, }; _cleanup_nvme_dev_ struct nvme_dev *dev = NULL; enum nvme_print_flags flags;