From mboxrd@z Thu Jan 1 00:00:00 1970 From: lixiaokeng Subject: [PATCH 4/6] libmultipath: check udev* return value in trigger_partitions_udev_change Date: Tue, 15 Sep 2020 12:41:11 +0800 Message-ID: <94e6143b-9aac-affa-9c48-7e48f1910732@huawei.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dm-devel-bounces@redhat.com Errors-To: dm-devel-bounces@redhat.com Content-Language: en-GB To: Christophe Varoqui , Martin Wilck , Benjamin Marzinski , dm-devel mailing list Cc: linfeilong , "liuzhiqiang (I)" List-Id: dm-devel.ids We check the return value of udev_device_get_devtype before dereference it. Signed-off-by:Lixiaokeng Signed-off-by: Zhiqiang Liu Signed-off-by: Linfeilong --- 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); --