X-Git-Url: http://git.ipfire.org/?p=thirdparty%2Fsystemd.git;a=blobdiff_plain;f=src%2Flibudev%2Flibudev-list.c;h=29fbdbd4509e7365875a8ef0f99b12c485b25c53;hp=59ba69e279a2d6edeb180194e37b360f06739e27;hb=53e1b683907c2f12330f00feb9630150196f064d;hpb=cf2292f5ac87087f57dbd632a25a332c9d194ebf
diff --git a/src/libudev/libudev-list.c b/src/libudev/libudev-list.c
index 59ba69e279a..29fbdbd4509 100644
--- a/src/libudev/libudev-list.c
+++ b/src/libudev/libudev-list.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: LGPL-2.1+ */
/***
This file is part of systemd.
@@ -17,14 +18,12 @@
along with systemd; If not, see .
***/
-#include
-#include
-#include
-#include
#include
+#include
+#include
#include
-#include "libudev.h"
+#include "alloc-util.h"
#include "libudev-private.h"
/**
@@ -95,14 +94,14 @@ static inline struct udev_list_entry *list_node_to_entry(struct udev_list_node *
void udev_list_init(struct udev *udev, struct udev_list *list, bool unique)
{
- memset(list, 0x00, sizeof(struct udev_list));
+ memzero(list, sizeof(struct udev_list));
list->udev = udev;
list->unique = unique;
udev_list_node_init(&list->node);
}
/* insert entry into a list as the last element */
-void udev_list_entry_append(struct udev_list_entry *new, struct udev_list *list)
+static void udev_list_entry_append(struct udev_list_entry *new, struct udev_list *list)
{
/* inserting before the list head make the node the last node in the list */
udev_list_node_insert_between(&new->node, list->node.prev, &list->node);
@@ -110,7 +109,7 @@ void udev_list_entry_append(struct udev_list_entry *new, struct udev_list *list)
}
/* insert entry into a list, before a given existing entry */
-void udev_list_entry_insert_before(struct udev_list_entry *new, struct udev_list_entry *entry)
+static void udev_list_entry_insert_before(struct udev_list_entry *new, struct udev_list_entry *entry)
{
udev_list_node_insert_between(&new->node, entry->node.prev, &entry->node);
new->list = entry->list;
@@ -165,20 +164,19 @@ struct udev_list_entry *udev_list_entry_add(struct udev_list *list, const char *
}
/* add new name */
- entry = calloc(1, sizeof(struct udev_list_entry));
+ entry = new0(struct udev_list_entry, 1);
if (entry == NULL)
return NULL;
+
entry->name = strdup(name);
- if (entry->name == NULL) {
- free(entry);
- return NULL;
- }
+ if (entry->name == NULL)
+ return mfree(entry);
+
if (value != NULL) {
entry->value = strdup(value);
if (entry->value == NULL) {
free(entry->name);
- free(entry);
- return NULL;
+ return mfree(entry);
}
}
@@ -195,8 +193,7 @@ struct udev_list_entry *udev_list_entry_add(struct udev_list *list, const char *
if (entries == NULL) {
free(entry->name);
free(entry->value);
- free(entry);
- return NULL;
+ return mfree(entry);
}
list->entries = entries;
list->entries_max += add;
@@ -249,8 +246,7 @@ void udev_list_cleanup(struct udev_list *list)
struct udev_list_entry *entry_loop;
struct udev_list_entry *entry_tmp;
- free(list->entries);
- list->entries = NULL;
+ list->entries = mfree(list->entries);
list->entries_cur = 0;
list->entries_max = 0;
udev_list_entry_foreach_safe(entry_loop, entry_tmp, udev_list_get_entry(list))