From: Susant Sahani Date: Mon, 30 Jun 2014 05:05:48 +0000 (+0530) Subject: networkd: address_acquire use cleanup macro X-Git-Tag: v215~74 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=0099bc15f14932c1d6e2bea4fc240038e45871dc;ds=sidebyside networkd: address_acquire use cleanup macro use cleanup macro for Address na [tomegun: dropped unneccessary braces] --- diff --git a/src/network/networkd-address.c b/src/network/networkd-address.c index 9c3e0e337..76febc7a0 100644 --- a/src/network/networkd-address.c +++ b/src/network/networkd-address.c @@ -231,7 +231,7 @@ int address_update(Address *address, Link *link, static int address_acquire(Link *link, Address *original, Address **ret) { union in_addr_union in_addr = {}; struct in_addr broadcast = {}; - Address *na = NULL; + _cleanup_address_free_ Address *na = NULL; int r; assert(link); @@ -274,11 +274,8 @@ static int address_acquire(Link *link, Address *original, Address **ret) { if (original->label) { na->label = strdup(original->label); - - if (!na->label) { - free(na); + if (!na->label) return -ENOMEM; - } } na->broadcast = broadcast; @@ -287,6 +284,8 @@ static int address_acquire(Link *link, Address *original, Address **ret) { LIST_PREPEND(addresses, link->pool_addresses, na); *ret = na; + na = NULL; + return 0; }