Skip to content
Snippets Groups Projects
Commit d304d012 authored by Randy Kunkee's avatar Randy Kunkee
Browse files

Call ldap_memfree(attributeName) for returns from ldap_first_attribute()

and ldap_next_attribute if using newer interface.  Current test for this
is an #if LDAP_API_VERSION >= 2004.
parent 27e5c484
Branches
Tags
No related merge requests found
......@@ -212,6 +212,11 @@ LDAP_ProcessOneSearchResult (interp, ldap, entry, destArrayNameObj, evalCodeObj)
}
attributeNameObj = Tcl_NewObj();
Tcl_IncrRefCount (attributeNameObj);
/* Note that attributeName below is allocated for OL2+ libldap, so it
must be freed with ldap_memfree(). Test below is admittedly a hack.
*/
for (attributeName = ldap_first_attribute (ldap, entry, &ber);
attributeName != NULL;
attributeName = ldap_next_attribute(ldap, entry, ber)) {
......@@ -227,6 +232,9 @@ LDAP_ProcessOneSearchResult (interp, ldap, entry, destArrayNameObj, evalCodeObj)
*/
attributeDataObj = Tcl_NewObj();
Tcl_SetStringObj(attributeNameObj, attributeName, -1);
#if LDAP_API_VERSION >= 2004
ldap_memfree(attributeName); /* free if newer API */
#endif
for (i = 0; bvals[i] != NULL; i++) {
Tcl_Obj *singleAttributeValueObj;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment