]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
ctdb-ipalloc: Use goto fail to avoid repetition
authorMartin Schwenke <martin@meltin.net>
Tue, 1 Dec 2015 03:00:43 +0000 (14:00 +1100)
committerAmitay Isaacs <amitay@samba.org>
Fri, 12 Feb 2016 04:32:16 +0000 (05:32 +0100)
This is getting unreadable...

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
ctdb/server/ctdb_takeover.c

index a613aa070087c02294906ad24cd9a9c07ca06d18..093024e7789686027b7baadb106c131a486a96f6 100644 (file)
@@ -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 {