]> git.sur5r.net Git - openldap/commitdiff
ITS#6490
authorQuanah Gibson-Mount <quanah@openldap.org>
Thu, 15 Apr 2010 21:59:56 +0000 (21:59 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Thu, 15 Apr 2010 21:59:56 +0000 (21:59 +0000)
CHANGES
servers/slapd/overlays/dds.c
servers/slapd/overlays/pcache.c

diff --git a/CHANGES b/CHANGES
index 8ec6ea2a47ed24b5e4720ebf436936f93efcda36..5ed9a8f2e32196ab9d325ab77ee83e9f436835e8 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -14,8 +14,10 @@ OpenLDAP 2.4.22 Engineering
        Fixed slapd syncrepl for unknown attrs and delta-sync (ITS#6473)
        Fixed slapd-bdb contextCSN updates from updatedn (ITS#6469)
        Fixed slapo-collect REP_ENTRY flag handling (ITS#5340,ITS#6423)
+       Fixed slapo-dds with NULL backend (ITS#6490)
        Fixed slapo-dynlist REP_ENTRY flag handling (ITS#5340,ITS#6423)
        Fixed slapo-pcache to release its own entries (ITS#6484)
+       Fixed slapo-pcache with NULL backend (ITS#6490)
        Fixed slapo-rwm entry release handling (ITS#6484)
        Fixed slapo-rwm olcRwmMap handling (ITS#6436)
        Fixed slapo-rwm REP_ENTRY flag handling (ITS#5340,ITS#6423)
index 6b579b9b07df17db40068f4eb729c15d6fcc8ac7..c0bbc40d84bff915d79dac946507b59d73c2bc12 100644 (file)
@@ -1821,6 +1821,12 @@ slap_exop_refresh(
        op->o_req_dn = op->o_req_ndn;
 
        op->o_bd = select_backend( &op->o_req_ndn, 0 );
+       if ( op->o_bd == NULL ) {
+               send_ldap_error( op, rs, LDAP_NO_SUCH_OBJECT,
+                       "no global superior knowledge" );
+               goto done;
+       }
+
        if ( !SLAP_DYNAMIC( op->o_bd ) ) {
                send_ldap_error( op, rs, LDAP_UNAVAILABLE_CRITICAL_EXTENSION,
                        "backend does not support dynamic directory services" );
index db36896b44958ea3e9c223028ee30728aa2da62e..46ce69ce695195a4f48b89b2be637c6bae38074b 100644 (file)
@@ -5111,6 +5111,10 @@ pcache_exop_query_delete(
        op->o_req_dn = op->o_req_ndn;
 
        op->o_bd = select_backend( &op->o_req_ndn, 0 );
+       if ( op->o_bd == NULL ) {
+               send_ldap_error( op, rs, LDAP_NO_SUCH_OBJECT,
+                       "no global superior knowledge" );
+       }
        rs->sr_err = backend_check_restrictions( op, rs,
                (struct berval *)&pcache_exop_QUERY_DELETE );
        if ( rs->sr_err != LDAP_SUCCESS ) {