libudev: also drop the entry from LIST even if unique flag is set
Otherwise, the list becomes dirty when an entry is freed. This also remove the entry from the hashmap only when its name is set. The name should be always set, so that does not change anything. But just for safety.
This commit is contained in:
@@ -39,9 +39,10 @@ static struct udev_list_entry *udev_list_entry_free(struct udev_list_entry *entr
|
||||
return NULL;
|
||||
|
||||
if (entry->list) {
|
||||
if (entry->list->unique)
|
||||
if (entry->list->unique && entry->name)
|
||||
hashmap_remove(entry->list->unique_entries, entry->name);
|
||||
else
|
||||
|
||||
if (!entry->list->unique || entry->list->uptodate)
|
||||
LIST_REMOVE(entries, entry->list->entries, entry);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user