X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Foperation.c;h=3d38d0cef92893e1feecb394b2749845fb7ac28b;hb=01c38dd6ea7f02cfdc9f77f9299771a4ef6ce968;hp=2ffddce841d9d30a793f14b3c84195468ef7e160;hpb=0d2e2772d52d958880837f8191f1c73473c37e97;p=openldap diff --git a/servers/slapd/operation.c b/servers/slapd/operation.c index 2ffddce841..3d38d0cef9 100644 --- a/servers/slapd/operation.c +++ b/servers/slapd/operation.c @@ -60,6 +60,17 @@ void slap_op_destroy(void) ldap_pvt_thread_mutex_destroy( &slap_op_mutex ); } +void +slap_op_groups_free( Operation *op ) +{ + GroupAssertion *g, *n; + for ( g = op->o_groups; g; g = n ) { + n = g->ga_next; + slap_sl_free( g, op->o_tmpmemctx ); + } + op->o_groups = NULL; +} + void slap_op_free( Operation *op ) { @@ -87,13 +98,8 @@ slap_op_free( Operation *op ) } #endif - { - GroupAssertion *g, *n; - for ( g = op->o_groups; g; g = n ) { - n = g->ga_next; - slap_sl_free( g, op->o_tmpmemctx ); - } - op->o_groups = NULL; + if ( op->o_groups ) { + slap_op_groups_free( op ); } #if defined( LDAP_SLAPI )