The ldapu_propval_list_free() function was freeing the nodes in the list, but not the list itself. We need to free the list itself after all of the nodes have been freed.
@@ -1472,6 +1472,7 @@ void ldapu_propval_list_free (void *propval_list)
{
LDAPUPropValList_t *list = (LDAPUPropValList_t *)propval_list;
ldapu_list_free(list, ldapu_propval_free);
+ free(list);
}
int ldapu_certmap_init (const char *config_file,