9fdf79cddf
Update Source to upstream version 0.8.5 plus post tag commits * Patches 0001-0121 are from https://github.com/openSUSE/multipath-tools/tree/queue and are already queued for upstream * Patches 0122&0123 have been posted for upstream inclusion Rename files * Previous patches 0103-0111 are now patches 0124-0132
47 lines
1.3 KiB
Diff
47 lines
1.3 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: lixiaokeng <lixiaokeng@huawei.com>
|
|
Date: Sat, 23 Jan 2021 16:19:28 +0800
|
|
Subject: [PATCH] libmultipath: fix NULL dereference in find_path_by_dev
|
|
|
|
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.
|
|
|
|
Reviewed-by: Martin Wilck <mwilck@suse.com>
|
|
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
|
|
---
|
|
libmultipath/structs.c | 4 ++--
|
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/libmultipath/structs.c b/libmultipath/structs.c
|
|
index 464596fc..a3f27fd6 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)
|
|
--
|
|
2.17.2
|
|
|