summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libudev/libudev-device-private.c2
-rw-r--r--libudev/libudev-device.c2
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);
}