[lvm-devel] master - cleanup: simplify error path code

Zdenek Kabelac zkabelac at fedoraproject.org
Thu Feb 19 13:44:33 UTC 2015


Gitweb:        http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=a18d789684e0fd1864e419b4ee8ba97c3a37030f
Commit:        a18d789684e0fd1864e419b4ee8ba97c3a37030f
Parent:        4c184e9d6b4aa74b5fbed0fb8710dc38b38545f9
Author:        Zdenek Kabelac <zkabelac at redhat.com>
AuthorDate:    Thu Feb 19 14:06:17 2015 +0100
Committer:     Zdenek Kabelac <zkabelac at redhat.com>
CommitterDate: Thu Feb 19 14:44:04 2015 +0100

cleanup: simplify error path code

Mempool needs to free only with first alllocated element,
everything allocated afterwards is released as well.
---
 lib/metadata/lv_manip.c |    8 +++-----
 1 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c
index 088daaf..a77142c 100644
--- a/lib/metadata/lv_manip.c
+++ b/lib/metadata/lv_manip.c
@@ -460,7 +460,7 @@ int lv_layout_and_role(struct dm_pool *mem, const struct logical_volume *lv,
 
 	if (!(*layout = str_list_create(mem))) {
 		log_error("LV layout list allocation failed");
-		goto bad;
+		return 0;
 	}
 
 	if (!(*role = str_list_create(mem))) {
@@ -549,10 +549,8 @@ int lv_layout_and_role(struct dm_pool *mem, const struct logical_volume *lv,
 
 	return 1;
 bad:
-	if (*role)
-		dm_pool_free(mem, *role);
-	if (*layout)
-		dm_pool_free(mem, *layout);
+	dm_pool_free(mem, *layout);
+
 	return 0;
 }
 




More information about the lvm-devel mailing list