From: Martin Schwenke Date: Tue, 1 Dec 2015 03:00:43 +0000 (+1100) Subject: ctdb-ipalloc: Use goto fail to avoid repetition X-Git-Tag: tevent-0.9.27~25 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=53752bcf2960141c7b982a085866ef98a9f05ecb;p=thirdparty%2Fsamba.git ctdb-ipalloc: Use goto fail to avoid repetition This is getting unreadable... Signed-off-by: Martin Schwenke Reviewed-by: Amitay Isaacs --- diff --git a/ctdb/server/ctdb_takeover.c b/ctdb/server/ctdb_takeover.c index a613aa07008..093024e7789 100644 --- a/ctdb/server/ctdb_takeover.c +++ b/ctdb/server/ctdb_takeover.c @@ -1588,8 +1588,7 @@ static struct ipalloc_state * ipalloc_state_init(struct ctdb_context *ctdb, ipalloc_state->num); if (ipalloc_state->known_public_ips == NULL) { DEBUG(DEBUG_ERR, (__location__ " Out of memory\n")); - talloc_free(ipalloc_state); - return NULL; + goto fail; } ipalloc_state->available_public_ips = talloc_zero_array(ipalloc_state, @@ -1597,8 +1596,7 @@ static struct ipalloc_state * ipalloc_state_init(struct ctdb_context *ctdb, ipalloc_state->num); if (ipalloc_state->available_public_ips == NULL) { DEBUG(DEBUG_ERR, (__location__ " Out of memory\n")); - talloc_free(ipalloc_state); - return NULL; + goto fail; } ipalloc_state->noiptakeover = talloc_zero_array(ipalloc_state, @@ -1606,8 +1604,7 @@ static struct ipalloc_state * ipalloc_state_init(struct ctdb_context *ctdb, ipalloc_state->num); if (ipalloc_state->noiptakeover == NULL) { DEBUG(DEBUG_ERR, (__location__ " Out of memory\n")); - talloc_free(ipalloc_state); - return NULL; + goto fail; } ipalloc_state->noiphost = talloc_zero_array(ipalloc_state, @@ -1615,8 +1612,7 @@ static struct ipalloc_state * ipalloc_state_init(struct ctdb_context *ctdb, ipalloc_state->num); if (ipalloc_state->noiphost == NULL) { DEBUG(DEBUG_ERR, (__location__ " Out of memory\n")); - talloc_free(ipalloc_state); - return NULL; + goto fail; } if (1 == ctdb->tunable.lcp2_public_ip_assignment) { @@ -1630,6 +1626,9 @@ static struct ipalloc_state * ipalloc_state_init(struct ctdb_context *ctdb, ipalloc_state->no_ip_failback = ctdb->tunable.no_ip_failback; return ipalloc_state; +fail: + talloc_free(ipalloc_state); + return NULL; } struct iprealloc_callback_data {