mrc0mmand / rpms / lvm2

Forked from rpms/lvm2 2 years ago
Clone

Blame SOURCES/lvm2-2_03_12-integrity-fix-segfault-on-error-path-when-replacing-.patch

cdbae0
 lib/metadata/integrity_manip.c | 10 +++++++---
cdbae0
 1 file changed, 7 insertions(+), 3 deletions(-)
cdbae0
cdbae0
diff --git a/lib/metadata/integrity_manip.c b/lib/metadata/integrity_manip.c
cdbae0
index 53ab1b3..abf90d8 100644
cdbae0
--- a/lib/metadata/integrity_manip.c
cdbae0
+++ b/lib/metadata/integrity_manip.c
cdbae0
@@ -773,9 +773,13 @@ int lv_add_integrity_to_raid(struct logical_volume *lv, struct integrity_setting
cdbae0
 bad:
cdbae0
 	log_error("Failed to add integrity.");
cdbae0
 
cdbae0
-	for (s = 0; s < revert_meta_lvs; s++) {
cdbae0
-		if (!lv_remove(imeta_lvs[s]))
cdbae0
-			log_error("New integrity metadata LV may require manual removal.");
cdbae0
+	if (revert_meta_lvs) {
cdbae0
+		for (s = 0; s < DEFAULT_RAID_MAX_IMAGES; s++) {
cdbae0
+			if (!imeta_lvs[s])
cdbae0
+				continue;
cdbae0
+			if (!lv_remove(imeta_lvs[s]))
cdbae0
+				log_error("New integrity metadata LV may require manual removal.");
cdbae0
+		}
cdbae0
 	}
cdbae0
 			       
cdbae0
 	if (!vg_write(vg) || !vg_commit(vg))