]> git.ipfire.org Git - thirdparty/openldap.git/commitdiff
ITS#10169 Do not leak opattr mods
authorOndřej Kuzník <ondra@mistotebe.net>
Wed, 8 Oct 2025 16:08:48 +0000 (17:08 +0100)
committerQuanah Gibson-Mount <quanah@openldap.org>
Tue, 21 Oct 2025 03:15:43 +0000 (03:15 +0000)
servers/slapd/overlays/otp.c

index 80cd3790d38c3e1a56831ceeceea8d0afcadd833..aa57111aa48ccc220c8311748c0f6139a69e5755 100644 (file)
@@ -959,6 +959,7 @@ otp_check_and_update( Operation *op, BerValue *totpdn, BerValue *hotpdn,
 
                op2.o_tag = LDAP_REQ_MODIFY;
                op2.orm_modlist = mod;
+               op2.orm_no_opattrs = 0;
                op2.o_dn = op->o_bd->be_rootdn;
                op2.o_ndn = op->o_bd->be_rootndn;
                op2.o_req_dn = ndn;
@@ -969,6 +970,9 @@ otp_check_and_update( Operation *op, BerValue *totpdn, BerValue *hotpdn,
                if ( rs2.sr_err != LDAP_SUCCESS ) {
                        rc = LDAP_OTHER;
                }
+               if ( m->sml_next ) {
+                       slap_mods_free( m->sml_next, 1 );
+               }
        }
 
        return rc;