From 0fe40e4ebdf0f1be5e96c5b7ad445bd2ec58d157 Mon Sep 17 00:00:00 2001 From: Pierangelo Masarati Date: Sat, 11 Dec 2004 14:06:21 +0000 Subject: [PATCH] temporarily work around ITS#3433; need to understand why it happens and how to fix it correctly --- servers/slapd/backover.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) 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; -- 2.39.5