]> git.ipfire.org Git - thirdparty/openldap.git/commitdiff
ITS#10349 Do not leak memberof_t
authorOndřej Kuzník <ondra@mistotebe.net>
Fri, 13 Jun 2025 07:02:33 +0000 (08:02 +0100)
committerQuanah Gibson-Mount <quanah@openldap.org>
Fri, 20 Jun 2025 14:52:19 +0000 (14:52 +0000)
servers/slapd/overlays/memberof.c

index e50457ba17afb246c44b2473d2eb8af793b81bc1..46232e45c8b617b15f9a1cb5b963ead11bb9d43f 100644 (file)
@@ -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;