A uevent that doesn't include the ACTION and DEVPATH fields is
malformed. It should be ignored, instead of used with those fields being
NULL.

Signed-off-by: Benjamin Marzinski <[email protected]>
---
 libmultipath/uevent.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/libmultipath/uevent.c b/libmultipath/uevent.c
index fd8ca35..5f910e6 100644
--- a/libmultipath/uevent.c
+++ b/libmultipath/uevent.c
@@ -729,6 +729,12 @@ struct uevent *uevent_from_udev_device(struct udev_device 
*dev)
                if (i == HOTPLUG_NUM_ENVP - 1)
                        break;
        }
+       if (!uev->devpath || ! uev->action) {
+               udev_device_unref(dev);
+               condlog(1, "uevent missing necessary fields");
+               FREE(uev);
+               return NULL;
+       }
        uev->udev = dev;
        uev->envp[i] = NULL;
 
-- 
2.7.4

--
dm-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/dm-devel

Reply via email to