diff --git a/servers/slapd/overlays/rwm.c b/servers/slapd/overlays/rwm.c index 54e58464c7..a0fd0316fe 100644 --- a/servers/slapd/overlays/rwm.c +++ b/servers/slapd/overlays/rwm.c @@ -598,7 +598,7 @@ rwm_op_modify( Operation *op, SlapReply *rs ) &mapping, RWM_MAP ); if ( drop_missing || ( mapping != NULL && BER_BVISNULL( &mapping->m_dst ) ) ) { - goto cleanup_mod; + goto skip_mod; } } @@ -693,6 +693,10 @@ next_mod:; mlp = &ml->sml_next; continue; +skip_mod:; + *mlp = (*mlp)->sml_next; + continue; + cleanup_mod:; ml = *mlp; *mlp = (*mlp)->sml_next;