[dm-devel] [PATCH] libmultipath: fix NULL dereference in find_path_by_dev
lixiaokeng
lixiaokeng at huawei.com
Sat Jan 23 08:19:28 UTC 2021
When I test the 0.8.5 code with iscsi login/out, multipathd command
and multipath command concurrently, there is a multipathd coredump.
The stack is shown:
uxlsnrloop
->cli_list_devices
->show_devices
->snprint_devices
->find_path_by_dev
The reason is that devname is NULL in snprint_devices, then it will
be dereference. Here we check dev in find_path_by_dev.
---
libmultipath/structs.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libmultipath/structs.c b/libmultipath/structs.c
index 464596f..a3f27fd 100644
--- a/libmultipath/structs.c
+++ b/libmultipath/structs.c
@@ -453,12 +453,12 @@ find_mp_by_str (const struct _vector *mpvec, const char * str)
}
struct path *
-find_path_by_dev (const struct _vector *pathvec, const char * dev)
+find_path_by_dev (const struct _vector *pathvec, const char *dev)
{
int i;
struct path * pp;
- if (!pathvec)
+ if (!pathvec || !dev)
return NULL;
vector_foreach_slot (pathvec, pp, i)
--
More information about the dm-devel
mailing list