From: Keith Busch Date: Sat, 22 Feb 2020 22:09:38 +0000 (-0800) Subject: Fix double free discover log X-Git-Tag: v1.0-rc0~161 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=91fd58d5ad37fae8e0b56630a425d3d78f0922d7;p=users%2Fsagi%2Flibnvme.git Fix double free discover log Signed-off-by: Keith Busch --- diff --git a/src/nvme/fabrics.c b/src/nvme/fabrics.c index 836e4634..bf0ae675 100644 --- a/src/nvme/fabrics.c +++ b/src/nvme/fabrics.c @@ -303,7 +303,6 @@ int nvmf_get_discovery_log(nvme_ctrl_t c, struct nvmf_discovery_log **logp, numrec = le64_to_cpu(log->numrec); genctr = le64_to_cpu(log->genctr); - free(log); if (numrec == 0) { *logp = log; return 0; @@ -312,6 +311,7 @@ int nvmf_get_discovery_log(nvme_ctrl_t c, struct nvmf_discovery_log **logp, size = sizeof(struct nvmf_discovery_log) + sizeof(struct nvmf_disc_log_entry) * (numrec); + free(log); log = malloc(size); if (!log) { errno = ENOMEM;