From: Ondřej Kuzník Date: Fri, 13 Jun 2025 07:02:33 +0000 (+0100) Subject: ITS#10349 Do not leak memberof_t X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=47e9cd731379ed9aa704cb2e05ebfab172bd4a75;p=thirdparty%2Fopenldap.git ITS#10349 Do not leak memberof_t --- diff --git a/servers/slapd/overlays/memberof.c b/servers/slapd/overlays/memberof.c index e50457ba17..46232e45c8 100644 --- a/servers/slapd/overlays/memberof.c +++ b/servers/slapd/overlays/memberof.c @@ -1681,11 +1681,6 @@ memberof_db_init( const char *text = NULL; int rc; - mo = (memberof_t *)ch_calloc( 1, sizeof( memberof_t ) ); - - /* safe default */ - mo->mo_dangling_err = LDAP_CONSTRAINT_VIOLATION; - if ( !ad_memberOf ) { rc = slap_str2ad( SLAPD_MEMBEROF_ATTR, &ad_memberOf, &text ); if ( rc != LDAP_SUCCESS ) { @@ -1717,6 +1712,11 @@ memberof_db_init( } } + mo = (memberof_t *)ch_calloc( 1, sizeof( memberof_t ) ); + + /* safe default */ + mo->mo_dangling_err = LDAP_CONSTRAINT_VIOLATION; + on->on_bi.bi_private = (void *)mo; return 0;