]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/controls.c
Plug mutex/rwlock leaks (destroy them)
[openldap] / servers / slapd / controls.c
index ca7e8b2c7379e9212ea6aa0633cb525877b44cc0..8467ff8536ddf8fb821bc1e2b16798ecf69c04f4 100644 (file)
@@ -1137,14 +1137,13 @@ static int parseProxyAuthz (
        }
 
        ch_free( op->o_ndn.bv_val );
-       ch_free( op->o_dn.bv_val );
 
        /*
         * NOTE: since slap_sasl_getdn() returns a normalized dn,
         * from now on op->o_dn is normalized
         */
        op->o_ndn = dn;
-       ber_dupbv( &op->o_dn, &dn );
+       ber_bvreplace( &op->o_dn, &dn );
 
        Statslog( LDAP_DEBUG_STATS, "%s PROXYAUTHZ dn=\"%s\"\n",
            op->o_log_prefix, dn.bv_val, 0, 0, 0 );
@@ -1234,6 +1233,8 @@ static int parsePagedResults (
        if ( !cookie.bv_len ) {
                ps->ps_count = 0;
                ps->ps_cookie = 0;
+               /* taint ps_cookie, to detect whether it's set */
+               op->o_conn->c_pagedresults_state.ps_cookie = NOID;
        }
 
        /* NOTE: according to RFC 2696 3.: