RSS feed

Re: [PATCH] Allocate ldap_conncb on heap

[Date Prev][Date Next] [Thread Prev][Thread Next]

Re: [PATCH] Allocate ldap_conncb on heap

On Fri, 2011-08-26 at 20:49 +0200, Jakub Hrozek wrote:
> ldap_set_option does not do a deep-copy of the "invalue" parameter,
> it just copies the pointer when LDAP_OPT_CONNECT_CB is used.  But the
> "struct ldap_conncb" variable was allocated on the stack which resulted
> in openldap's ll_data pointer to point to garbage and nslcd crashed.
> The attached patch allocates struct ldap_conncb on the heap as a struct
> ldap_session member.

I prefer to make struct ldap_conncb cb static. That should also solve
the problem. Committed here:
This means that the structure is now shared between all connections (the
API suggests that this shouldn't be a problem).

Another alternative would be to set the option globally (set ld to NULL
with ldap_set_option()), however, that doesn't always seem to work for
all options.

Thanks for finding and reporting this.

-- arthur - - --
To unsubscribe send an email to or see