]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/backend.c
Fixed last commit. gcc was complaining about defined behavior.
[openldap] / servers / slapd / backend.c
index c5b01a06b42320da84e9d3f8608e606bac77a708..006c47370e97297b14fc0de87d38d3d13e155b85 100644 (file)
@@ -464,6 +464,9 @@ void backend_destroy_one( BackendDB *bd, int dynamic )
        }
        acl_destroy( bd->be_acl );
        limits_destroy( bd->be_limits );
+       if ( bd->be_extra_anlist ) {
+               anlist_free( bd->be_extra_anlist, 1, NULL );
+       }
        if ( !BER_BVISNULL( &bd->be_update_ndn ) ) {
                ch_free( bd->be_update_ndn.bv_val );
        }
@@ -1791,9 +1794,9 @@ backend_access(
        slap_mask_t             *mask )
 {
        Entry           *e = NULL;
-       void            *o_priv = op->o_private, *e_priv = NULL;
+       void            *o_priv, *e_priv = NULL;
        int             rc = LDAP_INSUFFICIENT_ACCESS;
-       Backend         *be = op->o_bd;
+       Backend         *be;
 
        /* pedantic */
        assert( op != NULL );
@@ -1801,6 +1804,9 @@ backend_access(
        assert( edn != NULL );
        assert( access > ACL_NONE );
 
+       be = op->o_bd;
+       o_priv = op->o_private;
+
        if ( !op->o_bd ) {
                op->o_bd = select_backend( edn, 0 );
        }