Full_Name: Tjeerd van Lemel Version: 2.0 beta OS: Tru64 Unix 4.0 URL: ftp://ftp.openldap.org/incoming/Tjeerd-van-Lemel-000818.1 Submission from: (NULL) (195.109.155.66) The function index_param() in servers/slapd/back_ldbm/index.c assigns *prefixp with ber_bvstrdup() allocated data if it returns successfully. This function is called from 3 places in servers/slapd/back_ldbm/filterindex.c (and from nowhere else). The allocated data (pointed to by the variable 'prefix') is never freed. This freeing should *always* be done (with ber_bvfree()) if index_param() returns LDAP_SUCCESS, even if the calling functions itself doesn't return successfully after the call of index_param().
I believe that's fixed on both HEAD and OPENLDAP_REL_ENG_2 branches. Please view latest version filterentry.c available at: http://www.openldap.org/devel/cvsweb.cgi/servers/slapd/back-ldbm/filterindex.c or directly from CVS. At 02:42 PM 8/18/00 +0000, tjeerd.van.lemel@cmg.nl wrote: >Full_Name: Tjeerd van Lemel >Version: 2.0 beta >OS: Tru64 Unix 4.0 >URL: ftp://ftp.openldap.org/incoming/Tjeerd-van-Lemel-000818.1 >Submission from: (NULL) (195.109.155.66) > > >The function index_param() in servers/slapd/back_ldbm/index.c assigns *prefixp >with ber_bvstrdup() allocated data if it returns successfully. This function is >called from 3 places in servers/slapd/back_ldbm/filterindex.c (and from nowhere >else). The allocated data (pointed to by the variable 'prefix') is never freed. >This freeing should *always* be done (with ber_bvfree()) if index_param() >returns LDAP_SUCCESS, even if the calling functions itself doesn't return >successfully after the call of index_param().
changed notes changed state Open to Closed moved from Incoming to Development
previously fixed.