diff options
-rw-r--r-- | libudev/libudev-device-private.c | 2 | ||||
-rw-r--r-- | libudev/libudev-device.c | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/libudev/libudev-device-private.c b/libudev/libudev-device-private.c index 7e5fcbc293..8c8ac244be 100644 --- a/libudev/libudev-device-private.c +++ b/libudev/libudev-device-private.c @@ -51,7 +51,7 @@ int udev_device_tag_index(struct udev_device *dev, struct udev_device *dev_old, struct udev_list_entry *list_entry; bool found; - if (add) { + if (add && dev_old != NULL) { /* delete possible left-over tags */ udev_list_entry_foreach(list_entry, udev_device_get_tags_list_entry(dev_old)) { const char *tag_old = udev_list_entry_get_name(list_entry); diff --git a/libudev/libudev-device.c b/libudev/libudev-device.c index 3f441d0999..a6a1ecb4e9 100644 --- a/libudev/libudev-device.c +++ b/libudev/libudev-device.c @@ -1289,6 +1289,8 @@ void udev_device_cleanup_tags_list(struct udev_device *udev_device) struct udev_list_entry *udev_device_get_tags_list_entry(struct udev_device *udev_device) { + if (udev_device == NULL) + return NULL; return udev_list_get_entry(&udev_device->tags_list); } |