]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/search.c
add Time subsystem
[openldap] / servers / slapd / search.c
index 6213d10d8b755ef9ee9d2f1fc0f8f888f3878833..95a278947063c450f59ac6a5c655b071903ea8c8 100644 (file)
@@ -37,7 +37,7 @@ do_search(
        struct berval nbase = { 0, NULL };
        struct berval   fstr = { 0, NULL };
        Filter          *filter = NULL;
-       AttributeName   *an;
+       AttributeName   *an = NULL;
        ber_len_t       siz, off, i;
        Backend         *be;
        int                     rc;
@@ -166,6 +166,7 @@ do_search(
        }
        for ( i=0; i<siz; i++ ) {
                an[i].an_desc = NULL;
+               an[i].an_oc = NULL;
                slap_bv2ad(&an[i].an_name, &an[i].an_desc, &text);
        }
 
@@ -282,13 +283,13 @@ do_search(
         * if we don't hold it.
         */
        if ( (be = select_backend( &nbase, manageDSAit, 1 )) == NULL ) {
-               BVarray ref = referral_rewrite( default_referral,
+               BerVarray ref = referral_rewrite( default_referral,
                        NULL, &pbase, scope );
 
                send_ldap_result( conn, op, rc = LDAP_REFERRAL,
                        NULL, NULL, ref ? ref : default_referral, NULL );
 
-               bvarray_free( ref );
+               ber_bvarray_free( ref );
                goto return_results;
        }
 
@@ -326,7 +327,7 @@ return_results:;
 
        if( fstr.bv_val != NULL) free( fstr.bv_val );
        if( filter != NULL) filter_free( filter );
-       free(an);
+       if( an != NULL ) free( an );
 
        return rc;
 }