summaryrefslogtreecommitdiff
path: root/ctdb/server/ctdb_takeover.c
diff options
context:
space:
mode:
Diffstat (limited to 'ctdb/server/ctdb_takeover.c')
-rw-r--r--ctdb/server/ctdb_takeover.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/ctdb/server/ctdb_takeover.c b/ctdb/server/ctdb_takeover.c
index 2b274f75b53..cf1a1c30fbc 100644
--- a/ctdb/server/ctdb_takeover.c
+++ b/ctdb/server/ctdb_takeover.c
@@ -1005,11 +1005,22 @@ int32_t ctdb_control_release_ip(struct ctdb_context *ctdb,
pip->pnn));
state = talloc(ctdb, struct takeover_callback_state);
- CTDB_NO_MEMORY(ctdb, state);
+ if (state == NULL) {
+ ctdb_set_error(ctdb, "Out of memory at %s:%d",
+ __FILE__, __LINE__);
+ free(iface);
+ return -1;
+ }
state->c = talloc_steal(state, c);
state->addr = talloc(state, ctdb_sock_addr);
- CTDB_NO_MEMORY(ctdb, state->addr);
+ if (state->addr == NULL) {
+ ctdb_set_error(ctdb, "Out of memory at %s:%d",
+ __FILE__, __LINE__);
+ free(iface);
+ talloc_free(state);
+ return -1;
+ }
*state->addr = pip->addr;
state->vnn = vnn;