]> git.sur5r.net Git - openldap/commitdiff
guard against simultaneous REP_ENTRY_MUSTRELEASE and REP_ENTRY_MODIFIABLE (ITS#6423)
authorPierangelo Masarati <ando@openldap.org>
Tue, 8 Dec 2009 19:36:10 +0000 (19:36 +0000)
committerPierangelo Masarati <ando@openldap.org>
Tue, 8 Dec 2009 19:36:10 +0000 (19:36 +0000)
servers/slapd/overlays/rwm.c

index 09675bb004765641aa4facee11d98b7207354699..87dd627836b217a5cf78a613f808b643cbd918f6 100644 (file)
@@ -1505,6 +1505,13 @@ rwm_send_entry( Operation *op, SlapReply *rs )
        (void)rwm_attrs( op, rs, &e->e_attrs, 1 );
 
        if ( rs->sr_flags & REP_ENTRY_MUSTRELEASE ) {
+               /* ITS#6423: REP_ENTRY_MUSTRELEASE incompatible
+                * with REP_ENTRY_MODIFIABLE */
+               if ( rs->sr_entry == e ) {
+                       rc = 1;
+                       goto fail;
+               }
+
                overlay_entry_release_ov( op, rs->sr_entry, 0, on );
        }