diff options
author | Amitay Isaacs <amitay@gmail.com> | 2016-08-04 15:50:38 +1000 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2016-08-10 11:24:37 +0200 |
commit | 5e6bcb988aee0a8fcabdb34d06ac0590de2c6d01 (patch) | |
tree | 62c5362ab3b477793a2dd91a6d980bc2d7f26e92 | |
parent | dcae84874e1eab24ad9f7a91ca6bd152c2d5cd07 (diff) | |
download | samba-5e6bcb988aee0a8fcabdb34d06ac0590de2c6d01.tar.gz |
ctdb-tools: Fix CID 1364703 - resource leak
BUG: https://bugzilla.samba.org/show_bug.cgi?id=12121
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
(cherry picked from commit 94bf6e69dba1b97d90168efceaafa43d27186778)
-rw-r--r-- | ctdb/tools/ctdb.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/ctdb/tools/ctdb.c b/ctdb/tools/ctdb.c index 196832962b6..fbf89f51594 100644 --- a/ctdb/tools/ctdb.c +++ b/ctdb/tools/ctdb.c @@ -4248,18 +4248,21 @@ static int control_restoredb(TALLOC_CTX *mem_ctx, struct ctdb_context *ctdb, nodemap = get_nodemap(ctdb, false); if (nodemap == NULL) { fprintf(stderr, "Failed to get nodemap\n"); + close(fd); return ENOMEM; } ret = get_generation(mem_ctx, ctdb, &generation); if (ret != 0) { fprintf(stderr, "Failed to get current generation\n"); + close(fd); return ret; } count = list_of_active_nodes(nodemap, CTDB_UNKNOWN_PNN, mem_ctx, &pnn_list); if (count <= 0) { + close(fd); return ENOMEM; } @@ -4390,6 +4393,7 @@ static int control_restoredb(TALLOC_CTX *mem_ctx, struct ctdb_context *ctdb, failed: + close(fd); ctdb_ctrl_set_recmode(mem_ctx, ctdb->ev, ctdb->client, ctdb->pnn, TIMEOUT(), CTDB_RECOVERY_ACTIVE); return ret; |