summaryrefslogtreecommitdiff
path: root/ctdb
diff options
context:
space:
mode:
authorAmitay Isaacs <amitay@gmail.com>2017-11-20 11:52:55 +1100
committerMartin Schwenke <martins@samba.org>2017-11-21 05:03:16 +0100
commita6296bad87ac16cb0a39d35aa8cf0db2f85ec0d3 (patch)
tree27e8f0d94547dc09091883f01fc7ea409526cf69 /ctdb
parent49308f7f22f3d6fa05cc81fdef3db020e503fa9f (diff)
downloadsamba-a6296bad87ac16cb0a39d35aa8cf0db2f85ec0d3.tar.gz
ctdb-common: Do not use sock->req outside sock_socket functions
Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net>
Diffstat (limited to 'ctdb')
-rw-r--r--ctdb/common/sock_daemon.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/ctdb/common/sock_daemon.c b/ctdb/common/sock_daemon.c
index bbeff537103..a41a5d5a7ea 100644
--- a/ctdb/common/sock_daemon.c
+++ b/ctdb/common/sock_daemon.c
@@ -278,6 +278,8 @@ static int sock_socket_init(TALLOC_CTX *mem_ctx, const char *sockpath,
static int sock_socket_destructor(struct sock_socket *sock)
{
+ TALLOC_FREE(sock->req);
+
if (sock->fd != -1) {
close(sock->fd);
sock->fd = -1;
@@ -331,6 +333,8 @@ static struct tevent_req *sock_socket_start_send(TALLOC_CTX *mem_ctx,
}
tevent_req_set_callback(subreq, sock_socket_start_new_client, req);
+ sock->req = req;
+
return req;
}
@@ -599,8 +603,6 @@ struct tevent_req *sock_daemon_run_send(TALLOC_CTX *mem_ctx,
}
tevent_req_set_callback(subreq, sock_daemon_run_socket_fail,
req);
-
- sock->req = subreq;
}
if (pid_watch > 1) {
@@ -693,7 +695,6 @@ static void sock_daemon_run_shutdown(struct tevent_req *req)
while ((sock = sockd->socket_list) != NULL) {
DLIST_REMOVE(sockd->socket_list, sock);
- TALLOC_FREE(sock->req);
TALLOC_FREE(sock);
}