From: Pierangelo Masarati Date: Sat, 11 Dec 2004 14:06:21 +0000 (+0000) Subject: temporarily work around ITS#3433; need to understand why it happens and how to fix... X-Git-Tag: OPENLDAP_REL_ENG_2_3_0ALPHA~62 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=0fe40e4ebdf0f1be5e96c5b7ad445bd2ec58d157;p=openldap temporarily work around ITS#3433; need to understand why it happens and how to fix it correctly --- diff --git a/servers/slapd/backover.c b/servers/slapd/backover.c index 3f2bc9b766..43299c1e06 100644 --- a/servers/slapd/backover.c +++ b/servers/slapd/backover.c @@ -253,13 +253,21 @@ over_op_func( enum op_which which ) { - slap_overinfo *oi = op->o_bd->bd_info->bi_private; - slap_overinst *on = oi->oi_list; + slap_overinfo *oi; + slap_overinst *on; BI_op_bind **func; BackendDB *be = op->o_bd, db; slap_callback cb = {NULL, over_back_response, NULL, NULL}; int rc = SLAP_CB_CONTINUE; + if ( op->o_bd == NULL ) { + /* FIXME: happens for instance during abandon... */ + return 0; + } + + oi = op->o_bd->bd_info->bi_private; + on = oi->oi_list; + if ( !SLAP_ISOVERLAY( op->o_bd )) { db = *op->o_bd; db.be_flags |= SLAP_DBFLAG_OVERLAY;