0a156fc43d
This is an automated DistroBaker update from upstream sources. If you do not know what this is about or would like to opt out, contact the OSCI team. Source: https://src.fedoraproject.org/rpms/device-mapper-multipath.git#9fdf79cddf3be4e872b8d515e240dd533ea8dd34
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
|
|
|