]> www.infradead.org Git - users/sagi/libnvme.git/commitdiff
tree: do no free ns on error in nvme_ns_init
authorDaniel Wagner <dwagner@suse.de>
Wed, 20 Dec 2023 07:26:16 +0000 (08:26 +0100)
committerDaniel Wagner <wagi@monom.org>
Wed, 20 Dec 2023 08:04:08 +0000 (09:04 +0100)
The ns pointer is owned by the caller not by nvme_ns_init, thus we can't
just free it on error.

Fixes: 7959f52960fd ("tree: read all attributes from sysfs when available")
Reported-by: Tomasz Kłoczko <kloczek@fedoraproject.org>
Signed-off-by: Daniel Wagner <dwagner@suse.de>
src/nvme/tree.c

index 5d1d3bb22244d58ede7ad801527834c5b56b29af..07a3c532f37cc45b051c492aa850aca70cbebe87 100644 (file)
@@ -2473,7 +2473,7 @@ static int nvme_ns_init(const char *path, struct nvme_ns *ns)
 
                ret = nvme_ns_identify(ns, id);
                if (ret)
-                       free(ns);
+                       return ret;
 
                nvme_id_ns_flbas_to_lbaf_inuse(id->flbas, &flbas);
                ns->lba_count = le64_to_cpu(id->nsze);