Erik Lax wrote: > 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.
Then your app is almost certainly mis-designed. The set of attributeTypes in a schema is always finite and usually small; alloc'ing and free'ing the same strings over and over is foolish. Out of curiosity, what is your software actually trying to do? > > Regards > Erik > > On 2018-11-30 14:51, Howard Chu wrote: >> [email protected] 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. >> > > -- -- Howard Chu CTO, Symas Corp. http://www.symas.com Director, Highland Sun http://highlandsun.com/hyc/ Chief Architect, OpenLDAP http://www.openldap.org/project/
