[PATCH] libmultipath: fix NULL dereference in find_path_by_dev

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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)
-- 

--
dm-devel mailing list
dm-devel@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/dm-devel




[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux