From: Pierangelo Masarati Date: Sat, 15 Sep 2007 17:33:59 +0000 (+0000) Subject: alloc temporaries on slab X-Git-Tag: OPENLDAP_REL_ENG_2_4_9~20^2~631 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=eb51129e2966fa53cd4e4cc2dd0559fa30b2b83f;p=openldap alloc temporaries on slab --- diff --git a/servers/slapd/back-ldap/search.c b/servers/slapd/back-ldap/search.c index a1c97a2094..13a9fb3960 100644 --- a/servers/slapd/back-ldap/search.c +++ b/servers/slapd/back-ldap/search.c @@ -815,9 +815,9 @@ ldap_back_entry_get( if ( oc ) { char *ptr; - filter = ch_malloc( STRLENOF( "(objectclass=)" ) - + oc->soc_cname.bv_len + 1 ); - ptr = lutil_strcopy( filter, "(objectclass=" ); + filter = op->o_tmpalloc( STRLENOF( "(objectClass=" ")" ) + + oc->soc_cname.bv_len + 1, op->o_tmpmemctx ); + ptr = lutil_strcopy( filter, "(objectClass=" ); ptr = lutil_strcopy( ptr, oc->soc_cname.bv_val ); *ptr++ = ')'; *ptr++ = '\0'; @@ -829,7 +829,8 @@ retry: if ( rc != LDAP_SUCCESS ) { goto cleanup; } - + + /* TODO: timeout? */ rc = ldap_search_ext_s( lc->lc_ld, ndn->bv_val, LDAP_SCOPE_BASE, filter, attrp, 0, ctrls, NULL, NULL, LDAP_NO_LIMIT, &result ); @@ -872,7 +873,7 @@ cleanup: } if ( filter ) { - ch_free( filter ); + op->o_tmpfree( filter, op->o_tmpmemctx ); } if ( lc != NULL ) {