diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2021-02-01 18:18:49 +0100 |
---|---|---|
committer | Yu Watanabe <watanabe.yu+github@gmail.com> | 2021-02-01 18:22:59 +0100 |
commit | 140716a51694ad2aa365869e3f8a741509a70959 (patch) | |
tree | 2419e7c553cc858a8ca9e75227c356f3a6d1de35 /src/libudev | |
parent | libudev: use hashmap_ensure_put() (diff) | |
download | systemd-140716a51694ad2aa365869e3f8a741509a70959.tar.xz systemd-140716a51694ad2aa365869e3f8a741509a70959.zip |
libudev: set entry->list after the entry is stored in the list
This should not change anything. As hashmap_remove() is called before
hashmap_ensure_put(). So, even if hashmap_ensure_put() fails, a wrong
entry will not removed from the hashmap by udev_list_entry_free().
But anyway, just for safety.
Diffstat (limited to 'src/libudev')
-rw-r--r-- | src/libudev/libudev-list.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/libudev/libudev-list.c b/src/libudev/libudev-list.c index 514927bc8f..c224e9df6d 100644 --- a/src/libudev/libudev-list.c +++ b/src/libudev/libudev-list.c @@ -88,7 +88,6 @@ struct udev_list_entry *udev_list_entry_add(struct udev_list *list, const char * return NULL; *entry = (struct udev_list_entry) { - .list = list, .name = TAKE_PTR(name), .value = TAKE_PTR(value), }; @@ -103,6 +102,8 @@ struct udev_list_entry *udev_list_entry_add(struct udev_list *list, const char * } else LIST_APPEND(entries, list->entries, entry); + entry->list = list; + return TAKE_PTR(entry); } |