]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-ldbm/delete.c
Add a default case with assert() just in case.
[openldap] / servers / slapd / back-ldbm / delete.c
index 03fc27918c652af4f2cb068e20d48d0d6c5e369f..bfe7a48eba3d8b239df4f7db30cc8a512d5858e2 100644 (file)
@@ -1,7 +1,7 @@
 /* delete.c - ldbm backend delete routine */
 /* $OpenLDAP$ */
 /*
- * Copyright 1998-2000 The OpenLDAP Foundation, All Rights Reserved.
+ * Copyright 1998-2002 The OpenLDAP Foundation, All Rights Reserved.
  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
  */
 
@@ -44,7 +44,7 @@ ldbm_back_delete(
        /* get entry with writer lock */
        if ( (e = dn2entry_w( be, ndn, &matched )) == NULL ) {
                char *matched_dn = NULL;
-               struct berval **refs;
+               BerVarray refs;
 
 #ifdef NEW_LOGGING
                LDAP_LOG(( "backend", LDAP_LEVEL_INFO,
@@ -69,7 +69,7 @@ ldbm_back_delete(
                send_ldap_result( conn, op, LDAP_REFERRAL,
                        matched_dn, NULL, refs, NULL );
 
-               ber_bvecfree( refs );
+               if ( refs ) ber_bvarray_free( refs );
                free( matched_dn );
 
                return( -1 );
@@ -78,7 +78,7 @@ ldbm_back_delete(
     if ( !manageDSAit && is_entry_referral( e ) ) {
                /* parent is a referral, don't allow add */
                /* parent is an alias, don't allow add */
-               struct berval **refs = get_entry_referrals( be,
+               BerVarray refs = get_entry_referrals( be,
                        conn, op, e );
 
 #ifdef NEW_LOGGING
@@ -93,7 +93,7 @@ ldbm_back_delete(
                send_ldap_result( conn, op, LDAP_REFERRAL,
                    e->e_dn, NULL, refs, NULL );
 
-               ber_bvecfree( refs );
+               if ( refs ) ber_bvarray_free( refs );
 
                rc = 1;
                goto return_results;
@@ -103,10 +103,10 @@ ldbm_back_delete(
        if ( has_children( be, e ) ) {
 #ifdef NEW_LOGGING
                LDAP_LOG(( "backend", LDAP_LEVEL_ERR,
-                          "ldbm_back_delete: (%s) is a non-leaf node.\n", dn ));
+                          "ldbm_back_delete: (%s) is a non-leaf node.\n", dn->bv_val ));
 #else
                Debug(LDAP_DEBUG_ARGS, "<=- ldbm_back_delete: non leaf %s\n",
-                       dn, 0, 0);
+                       dn->bv_val, 0, 0);
 #endif
 
                send_ldap_result( conn, op, LDAP_NOT_ALLOWED_ON_NONLEAF,