summaryrefslogtreecommitdiff
path: root/udev
diff options
context:
space:
mode:
Diffstat (limited to 'udev')
-rw-r--r--udev/udev-event.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/udev/udev-event.c b/udev/udev-event.c
index 27bb5eb79a..32b45e9bac 100644
--- a/udev/udev-event.c
+++ b/udev/udev-event.c
@@ -231,8 +231,9 @@ found:
break;
case SUBST_DRIVER:
if (event->dev_parent != NULL) {
- const char *driver = udev_device_get_driver(event->dev_parent);
+ const char *driver;
+ driver = udev_device_get_driver(event->dev_parent);
if (driver == NULL)
break;
util_strlcat(string, driver, maxsize);
@@ -398,6 +399,8 @@ found:
struct udev_list_entry *list_entry;
list_entry = udev_device_get_devlinks_list_entry(dev);
+ if (list_entry == NULL)
+ break;
util_strlcat(string, &udev_list_entry_get_name(list_entry)[devlen], maxsize);
udev_list_entry_foreach(list_entry, udev_list_entry_get_next(list_entry)) {
util_strlcat(string, " ", maxsize);
@@ -426,6 +429,8 @@ found:
if (list_entry == NULL)
break;
value = udev_list_entry_get_value(list_entry);
+ if (value == NULL)
+ break;
dbg(event->udev, "substitute env '%s=%s'\n", attr, value);
util_strlcat(string, value, maxsize);
break;