[dm-devel] libmultipath: fix NULL dereference in get_be64

lixiaokeng lixiaokeng at huawei.com
Sun Jan 31 10:55:50 UTC 2021


When find_multipaths is no and add local path by multiapthd,
the local path will be filtered by filter_property. The
pp->mpp is not set in adopt_paths. Then the pp->mpp will be
dereferenced in get_be6.

Here add check pp->mpp in ev_add_path.

Signed-off-by: Lixiaokeng <lixiaokeng at huawei.com>
---
 multipathd/main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/multipathd/main.c b/multipathd/main.c
index a4abbb2..8ad8bea 100644
--- a/multipathd/main.c
+++ b/multipathd/main.c
@@ -1010,7 +1010,7 @@ rescan:
            return 0;
        }
        condlog(4,"%s: creating new map", pp->dev);
-       if ((mpp = add_map_with_path(vecs, pp, 1))) {
+       if ((mpp = add_map_with_path(vecs, pp, 1)) && pp->mpp) {
            mpp->action = ACT_CREATE;
            /*
             * We don't depend on ACT_CREATE, as domap will
-- 
1.8.3.1




More information about the dm-devel mailing list