if referential integrity is broken, things could go wrong; don't assert

This commit is contained in:
Pierangelo Masarati 2007-12-27 20:57:42 +00:00
parent 17294602c4
commit ce43877f6f

View File

@ -264,6 +264,7 @@ memberof_saveMember_cb( Operation *op, SlapReply *rs )
if ( rs->sr_type == REP_SEARCH ) {
memberof_cookie_t *mc;
Attribute *a;
BerVarray vals = NULL;
mc = (memberof_cookie_t *)op->o_callback->sc_private;
mc->foundit = 1;
@ -272,12 +273,13 @@ memberof_saveMember_cb( Operation *op, SlapReply *rs )
assert( rs->sr_entry->e_attrs != NULL );
a = attr_find( rs->sr_entry->e_attrs, mc->ad );
if ( a != NULL ) {
vals = a->a_nvals;
}
assert( a != NULL );
memberof_saved_member_set( op, mc->key, vals );
memberof_saved_member_set( op, mc->key, a->a_nvals );
if ( attr_find( a->a_next, mc->ad ) != NULL ) {
if ( a && attr_find( a->a_next, mc->ad ) != NULL ) {
Debug( LDAP_DEBUG_ANY,
"%s: memberof_saveMember_cb(\"%s\"): "
"more than one occurrence of \"%s\" "