[SSSD] [PATCH] NSS: Fix memory leak in sss_setnetgrent

Lukas Slebodnik lslebodn at redhat.com
Wed Dec 4 14:46:11 UTC 2013


ehlo,

struct nss_cmd_ctx was not released in function nss_cmd_setnetgrent_done
and it wasn't used in the other function, because getnetgrent creates its
own nss_cmd_ctx context. struct nss_cmd_ctx was released after closing client
because it was allocated under client context. Memory leak is apparent with
long living clients.

Simple patch is attached.

LS
-------------- next part --------------
>From 3a438d46249eca8d8d3c18a4ebff66b28bdac98c Mon Sep 17 00:00:00 2001
From: Lukas Slebodnik <lslebodn at redhat.com>
Date: Wed, 27 Nov 2013 10:22:59 +0100
Subject: [PATCH] NSS: Fix memory leak in sss_setnetgrent

struct nss_cmd_ctx was not released in function nss_cmd_setnetgrent_done
and it wasn't used in the other function, because getnetgrent creates its own
nss_cmd_ctx context. struct nss_cmd_ctx was released after closing client
because it was allocated under client context. Memory leak is apparent with
long living clients.

Resolves:
https://fedorahosted.org/sssd/ticket/2170
---
 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 b21d217ae750913b066e2997dd55a5d437b13285..3fc4b6431384ec1c1bc7ef131d683859c9c1aeec 100644
--- a/src/responder/nss/nsssrv_netgroup.c
+++ b/src/responder/nss/nsssrv_netgroup.c
@@ -684,7 +684,7 @@ static void nss_cmd_setnetgrent_done(struct tevent_req *req)
             ((uint32_t *)body)[1] = 0; /* reserved */
         }
 
-        sss_cmd_done(cmdctx->cctx, NULL);
+        sss_cmd_done(cmdctx->cctx, cmdctx);
         return;
     }
 
-- 
1.8.4.2



More information about the sssd-devel mailing list