In our case the pointer/allocated string ownership is preferable moved to the LDAPAVA object for both the value and attribute as the char* does not have the same lifetime as the LDAPAVA object.
Regards Erik
On 2018-11-30 14:51, Howard Chu wrote:
erik@halon.se wrote:
Full_Name: Erik Lax Version: 2.4.46 OS: Linux URL: Submission from: (NULL) (212.85.68.184)
Hi,
It's possible to set the flag LDAP_AVA_FREE_VALUE to clear ber values on the LDAPAVA structure in ldapava_free() but it's not possible to set the LDAP_AVA_FREE_ATTR to clear attributes. I suspect OpenLDAP internals does not need to free attributes in this way (hence the missing code).
Attribute Types are usually constant strings, so right, there should be no need to free them.
I'm building a custom LDAPAVA (LDAPDN) object and it would be useful to be able to set this flags to have it properly clean up both values and attributes in ldap_dnfree().
It would be better to simply avoid the need to free them.