]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/extended.c
Fixup bdb_entry_release now that entry_decode uses two memory blocks
[openldap] / servers / slapd / extended.c
index 9a011b818e4eb587586cb0a9b2424bd334d93ade..5ac0a4e0d2cee26b312d4c42c1f16fbd5496a737 100644 (file)
@@ -187,12 +187,15 @@ do_extended(
                &rspoid, &rspdata, &rspctrls, &text, &refs );
 
        if( rc != SLAPD_ABANDON ) {
-               if (rc == LDAP_REFERRAL) {
-                       refs = default_referral;
+               if ( rc == LDAP_REFERRAL && refs == NULL ) {
+                       refs = referral_rewrite( default_referral,
+                               NULL, NULL, LDAP_SCOPE_DEFAULT );
                }
 
                send_ldap_extended( conn, op, rc, NULL, text, refs,
                        rspoid, rspdata, rspctrls );
+
+               ber_bvecfree( refs );
        }
 
        if ( rspoid != NULL ) {