]> git.sur5r.net Git - openldap/commitdiff
temporarily work around ITS#3433; need to understand why it happens and how to fix...
authorPierangelo Masarati <ando@openldap.org>
Sat, 11 Dec 2004 14:06:21 +0000 (14:06 +0000)
committerPierangelo Masarati <ando@openldap.org>
Sat, 11 Dec 2004 14:06:21 +0000 (14:06 +0000)
servers/slapd/backover.c

index 3f2bc9b766e91c61bae468fa95a80e25998da9ed..43299c1e0689019dbc1150401ee681e142892c66 100644 (file)
@@ -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;