diff options
author | Martin Pitt <martin.pitt@ubuntu.com> | 2016-10-17 07:12:20 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-10-17 07:12:20 +0200 |
commit | a7753693547233e4a1d6e10b1a8f6515a477f227 (patch) | |
tree | 3b20f53b931e953f4ed495bb10e90597f3670237 /src/libudev/libudev-list.c | |
parent | 9e7727521ff2e751ee064716ab735016abf72025 (diff) | |
parent | 3b319885c4febb5f7ea9b5ab31c3395548ed6886 (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.c | 14 |
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; |