From: Christian Brauner Date: Wed, 31 Mar 2021 13:59:34 +0000 (+0200) Subject: lxc_user_nic: cleanup append_alloted() X-Git-Tag: lxc-5.0.0~221^2~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4c7de7c5ee74d6c92cadc1e75e3f4e355baec9ba;p=thirdparty%2Flxc.git lxc_user_nic: cleanup append_alloted() Signed-off-by: Christian Brauner --- diff --git a/src/lxc/cmd/lxc_user_nic.c b/src/lxc/cmd/lxc_user_nic.c index 06f195a37..d8ce1a842 100644 --- a/src/lxc/cmd/lxc_user_nic.c +++ b/src/lxc/cmd/lxc_user_nic.c @@ -233,10 +233,10 @@ struct alloted_s { struct alloted_s *next; }; -static struct alloted_s *append_alloted(struct alloted_s **head, char *name, - int n) +static struct alloted_s *append_alloted(struct alloted_s **head, char *name, int n) { - struct alloted_s *cur, *al; + __do_free struct alloted_s *al = NULL; + struct alloted_s *cur; if (!head || !name) { /* Sanity check. Parameters should not be null. */ @@ -244,32 +244,29 @@ static struct alloted_s *append_alloted(struct alloted_s **head, char *name, return NULL; } - al = malloc(sizeof(struct alloted_s)); + al = zalloc(sizeof(struct alloted_s)); if (!al) { CMD_SYSERROR("Failed to allocate memory\n"); return NULL; } al->name = strdup(name); - if (!al->name) { - free(al); + if (!al->name) return NULL; - } al->allowed = n; al->next = NULL; - if (!*head) { + if (*head) { + cur = *head; + while (cur->next) + cur = cur->next; + cur->next = al; + } else { *head = al; - return al; } - cur = *head; - while (cur->next) - cur = cur->next; - cur->next = al; - - return al; + return move_ptr(al); } static void free_alloted(struct alloted_s **head)