From: Quanah Gibson-Mount Date: Mon, 11 Feb 2008 22:33:43 +0000 (+0000) Subject: ITS#5302 X-Git-Tag: OPENLDAP_REL_ENG_2_4_8~91 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=385beddbd75df01a39295351968bd7efa5880785;p=openldap ITS#5302 --- diff --git a/CHANGES b/CHANGES index 7079366528..8654aa8f14 100644 --- a/CHANGES +++ b/CHANGES @@ -23,6 +23,7 @@ OpenLDAP 2.4.8 Engineering Added slapo-constraint cross-attribute constraints (ITS#4987) Fixed slapo-memberof objectClass inheritance (ITS#5299) Added slapo-memberof global overlay support (ITS#5301) + Fixed slapo-memberof leak (ITS#5302) Fixed slapo-ppolicy only password check with policy (ITS#5285) Fixed slapo-syncrepl hang on checkpoint (ITS#5261) Added slapo-translucent local searching (ITS#5283) diff --git a/servers/slapd/overlays/memberof.c b/servers/slapd/overlays/memberof.c index 3a5c6ac4c0..50d018d0dd 100644 --- a/servers/slapd/overlays/memberof.c +++ b/servers/slapd/overlays/memberof.c @@ -232,6 +232,14 @@ memberof_saved_member_set( Operation *op, void *keyp, BerVarray vals ) *key = saved_vals; } else { + BerVarray old_vals = NULL; + + ldap_pvt_thread_pool_getkey( op->o_threadctx, + key, (void **)&old_vals, NULL ); + if ( old_vals != NULL ) { + ber_bvarray_free( old_vals ); + } + ldap_pvt_thread_pool_setkey( op->o_threadctx, key, saved_vals, memberof_saved_member_free ); } @@ -1218,6 +1226,7 @@ memberof_res_delete( Operation *op, SlapReply *rs ) NULL, NULL ); } + memberof_saved_member_set( op, &saved_memberof_vals, NULL ); ber_bvarray_free( vals ); } @@ -1231,6 +1240,7 @@ memberof_res_delete( Operation *op, SlapReply *rs ) NULL, NULL ); } + memberof_saved_member_set( op, &saved_member_vals, NULL ); ber_bvarray_free( vals ); } }