]> git.sur5r.net Git - openldap/commitdiff
Check for NULL in be_match()
authorLuke Howard <lukeh@openldap.org>
Thu, 18 Aug 2005 04:34:04 +0000 (04:34 +0000)
committerLuke Howard <lukeh@openldap.org>
Thu, 18 Aug 2005 04:34:04 +0000 (04:34 +0000)
Use be_match() in backend.c operational processing

servers/slapd/backend.c
servers/slapd/proto-slap.h

index 7577bac1a08133a7f5b218073cb49df3c7c7508c..18feb7df24433419ff42dbc35ad5838084db8fbd 100644 (file)
@@ -1666,7 +1666,7 @@ fe_aux_operational(
                /* Let the overlays have a chance at this */
                be_orig = op->o_bd;
                op->o_bd = select_backend( &op->o_req_ndn, 0, 0 );
-               if ( op->o_bd != frontendDB &&
+               if ( !be_match( op->o_bd, frontendDB ) &&
                        ( SLAP_OPATTRS( rs->sr_attr_flags ) || rs->sr_attrs ) &&
                        op->o_bd != NULL && op->o_bd->be_operational != NULL )
                {
index 79d074b53272dea4b03286b1196275ef5e40d0d1..996cc7fdc925761a5b2b2a07f944cd7e04d1366e 100644 (file)
@@ -297,7 +297,8 @@ LDAP_SLAPD_F (void) ava_free LDAP_P((
  * backend.c
  */
 
-#define be_match( be1, be2 )   ( (be1) == (be2) || (be1)->be_nsuffix == (be2)->be_nsuffix )
+#define be_match( be1, be2 )   ( (be1) == (be2) || \
+                                 ( (be1) && (be2) && (be1)->be_nsuffix == (be2)->be_nsuffix ) )
 
 LDAP_SLAPD_F (int) backend_init LDAP_P((void));
 LDAP_SLAPD_F (int) backend_add LDAP_P((BackendInfo *aBackendInfo));