From 48cff40315cfbfcfae3582935efda961757ceec6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= Date: Tue, 13 Mar 2018 21:11:16 +0100 Subject: [PATCH 09/15] KCM: Remove mem_ctx from kcm_new_req() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Let's remove the mem_ctx argument as we really want cctx to be the memory context here, so that if the client disconnects the request goes away. Signed-off-by: Fabiano FidĂȘncio Reviewed-by: Jakub Hrozek --- src/responder/kcm/kcmsrv_cmd.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/responder/kcm/kcmsrv_cmd.c b/src/responder/kcm/kcmsrv_cmd.c index 0b933f0b4..d4ebb79bf 100644 --- a/src/responder/kcm/kcmsrv_cmd.c +++ b/src/responder/kcm/kcmsrv_cmd.c @@ -423,8 +423,10 @@ static errno_t kcm_recv_data(int fd, struct kcm_reqbuf *reqbuf) return EOK; } -static struct kcm_req_ctx *kcm_new_req(TALLOC_CTX *mem_ctx, - struct cli_ctx *cctx, +/* Mind that kcm_new_req() does not take a mem_ctx argument on purpose as we + * really want the cctx to be the memory context here so that if the client + * disconnects, the request goes away. */ +static struct kcm_req_ctx *kcm_new_req(struct cli_ctx *cctx, struct kcm_ctx *kctx) { struct kcm_req_ctx *req; @@ -467,8 +469,8 @@ static void kcm_recv(struct cli_ctx *cctx) kctx = talloc_get_type(cctx->rctx->pvt_ctx, struct kcm_ctx); req = talloc_get_type(cctx->state_ctx, struct kcm_req_ctx); if (req == NULL) { - /* A new request comes in, setup data structures */ - req = kcm_new_req(cctx, cctx, kctx); + /* A new request comes in, setup data structures. */ + req = kcm_new_req(cctx, kctx); if (req == NULL) { DEBUG(SSSDBG_CRIT_FAILURE, "Cannot set up client connection\n"); -- 2.14.3