[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: (ITS#9081) Memory leak in ldap_initialize/ldap_unbind



On Mon, Sep 16, 2019 at 11:53:58AM +0000, jengelh@inai.de wrote:
> » cat x.c 
> #define LDAP_DEPRECATED 1
> #include <ldap.h>
> int main()
> {
>         LDAP *ld;
>         ldap_initialize(&ld, "ldapi:///");
>         ldap_unbind(ld);
> }
> 
> unbind.c:
> 123             for ( lm = ld->ld_responses; lm != NULL; lm = next ) {
> 128             if ( ld->ld_abandoned != NULL ) {
> 132             LDAP_MUTEX_UNLOCK( &ld->ld_res_mutex );
> 136             ber_int_sb_destroy( ld->ld_sb );
> 
> Should this probably be LBER_FREE rather than ber_int_sb_destroy?

Hi Jan,
thanks for the report. I think it should be doing both as _destroy()
functions do not seem to be designed to free the pointer, only all its
local structures.

A patch has now been pushed to master.

Thanks,

-- 
OndÅ?ej Kuzník
Senior Software Engineer
Symas Corporation                       http://www.symas.com
Packaged, certified, and supported LDAP solutions powered by OpenLDAP