summaryrefslogtreecommitdiff
path: root/src/libudev/libudev-list.c
diff options
context:
space:
mode:
authorMartin Pitt <martin.pitt@ubuntu.com>2016-10-17 07:12:20 +0200
committerGitHub <noreply@github.com>2016-10-17 07:12:20 +0200
commita7753693547233e4a1d6e10b1a8f6515a477f227 (patch)
tree3b20f53b931e953f4ed495bb10e90597f3670237 /src/libudev/libudev-list.c
parent9e7727521ff2e751ee064716ab735016abf72025 (diff)
parent3b319885c4febb5f7ea9b5ab31c3395548ed6886 (diff)
Merge pull request #4391 from keszybz/treewide-macros
Use mfree more and add another function to simplify a common set&free pattern
Diffstat (limited to 'src/libudev/libudev-list.c')
-rw-r--r--src/libudev/libudev-list.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/libudev/libudev-list.c b/src/libudev/libudev-list.c
index da496ed456..0d51322a15 100644
--- a/src/libudev/libudev-list.c
+++ b/src/libudev/libudev-list.c
@@ -166,17 +166,16 @@ struct udev_list_entry *udev_list_entry_add(struct udev_list *list, const char *
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);
}
}
@@ -193,8 +192,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;