From 977486f09f41ffff25aa22b736e822134fd38e11 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fidencio@redhat.com>
Date: Mon, 6 Nov 2017 17:13:14 +0100
Subject: [PATCH] NSS: Use netgr as memory context in set_netgr_lifetime()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

We've noticed some crashes that happened because gctx is already freed,
but the timeout handler is still called. In order to avoid that, let's
remove the timeout handler when netgr is freed at other places.

Resolves: https://pagure.io/SSSD/sssd/issue/3523

Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com>
(cherry picked from commit 67f739d5d9debbe0c7ccd5dccdd032122c0dd422)
---
 src/responder/nss/nsssrv_netgroup.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/responder/nss/nsssrv_netgroup.c b/src/responder/nss/nsssrv_netgroup.c
index ee99b228e..29fc3665f 100644
--- a/src/responder/nss/nsssrv_netgroup.c
+++ b/src/responder/nss/nsssrv_netgroup.c
@@ -419,7 +419,7 @@ static void set_netgr_lifetime(uint32_t lifetime,
 
     tv = tevent_timeval_current_ofs(lifetime, 0);
     te = tevent_add_timer(step_ctx->nctx->rctx->ev,
-                          step_ctx->nctx->gctx, tv,
+                          netgr, tv,
                           setnetgrent_result_timeout,
                           netgr);
     if (!te) {
