We check the return value of udev_device_get_devtype before dereference it. Signed-off-by:Lixiaokeng<Lixiaokeng@xxxxxxxxxx> Signed-off-by: Zhiqiang Liu <liuzhiqiang26@xxxxxxxxxx> Signed-off-by: Linfeilong <linfeilong@xxxxxxxxxx> --- libmultipath/configure.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libmultipath/configure.c b/libmultipath/configure.c index 972cf5fe..7263707c 100644 --- a/libmultipath/configure.c +++ b/libmultipath/configure.c @@ -515,6 +515,7 @@ static void trigger_partitions_udev_change(struct udev_device *dev, { struct udev_enumerate *part_enum; struct udev_list_entry *item; + const char *devtype; part_enum = udev_enumerate_new(udev); if (!part_enum) @@ -535,7 +536,8 @@ static void trigger_partitions_udev_change(struct udev_device *dev, if (!part) continue; - if (!strcmp("partition", udev_device_get_devtype(part))) { + devtype = udev_device_get_devtype(part); + if (devtype && !strcmp("partition", devtype)) { condlog(4, "%s: triggering %s event for %s", __func__, action, syspath); sysfs_attr_set_value(part, "uevent", action, len); -- -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel