From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Benjamin Marzinski Date: Fri, 18 Dec 2020 17:06:40 -0600 Subject: [PATCH] libmultipath: ignore multipaths sections without wwid option "multipathd show config local" was crashing in find_mp_by_wwid() if the multipath configuration included a multipaths section that did not set a wwid option. There is no reason to keep a mpentry that didn't set its wwid. Remove it in merge_mptable(). Signed-off-by: Benjamin Marzinski Reviewed-by: Martin Wilck --- libmultipath/config.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libmultipath/config.c b/libmultipath/config.c index 9f3cb38d..a643703e 100644 --- a/libmultipath/config.c +++ b/libmultipath/config.c @@ -509,6 +509,13 @@ void merge_mptable(vector mptable) int i, j; vector_foreach_slot(mptable, mp1, i) { + /* drop invalid multipath configs */ + if (!mp1->wwid) { + condlog(0, "multipaths config section missing wwid"); + vector_del_slot(mptable, i--); + free_mpe(mp1); + continue; + } j = i + 1; vector_foreach_slot_after(mptable, mp2, j) { if (strcmp(mp1->wwid, mp2->wwid)) -- 2.17.2