ldap/servers/plugins/uiduniq/uid.c | 30 ++++++++++++++++--------------
1 file changed, 16 insertions(+), 14 deletions(-)
New commits:
commit c9220fe7bc0068c9cf22f2f291f5f2ba190a117c
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Tue May 12 11:47:52 2015 -0400
Ticket 48026 - Fix memory leak in uniqueness plugin
Bug Description: The config free function did not free all of the
config properly
Fix Description: Need to free the "attrs" pointer and the
"attr_friendly"
char string.
https://fedorahosted.org/389/ticket/48026
Reviewed by: rmeggins(Thanks!)
diff --git a/ldap/servers/plugins/uiduniq/uid.c b/ldap/servers/plugins/uiduniq/uid.c
index 85f3d9e..aef83b9 100644
--- a/ldap/servers/plugins/uiduniq/uid.c
+++ b/ldap/servers/plugins/uiduniq/uid.c
@@ -129,21 +129,23 @@ static char *moreInfo =
static void
free_uniqueness_config(struct attr_uniqueness_config *config)
{
- int i;
+ int i;
- for (i = 0; config->attrs && config->attrs[i]; i++) {
- slapi_ch_free_string((char **) &(config->attrs[i]));
- }
- for (i = 0; config->subtrees && config->subtrees[i]; i++) {
- slapi_sdn_free(&config->subtrees[i]);
- }
- for (i = 0; config->exclude_subtrees &&
config->exclude_subtrees[i]; i++) {
- slapi_sdn_free(&config->exclude_subtrees[i]);
- }
- slapi_ch_free((void **) &config->subtrees);
- slapi_ch_free((void **) &config->exclude_subtrees);
- slapi_ch_free_string((char **) &config->top_entry_oc);
- slapi_ch_free_string((char **) &config->subtree_entries_oc);
+ for (i = 0; config->attrs && config->attrs[i]; i++) {
+ slapi_ch_free_string((char **) &(config->attrs[i]));
+ }
+ for (i = 0; config->subtrees && config->subtrees[i]; i++) {
+ slapi_sdn_free(&config->subtrees[i]);
+ }
+ for (i = 0; config->exclude_subtrees && config->exclude_subtrees[i];
i++) {
+ slapi_sdn_free(&config->exclude_subtrees[i]);
+ }
+ slapi_ch_free((void **) &config->attrs);
+ slapi_ch_free((void **) &config->subtrees);
+ slapi_ch_free((void **) &config->exclude_subtrees);
+ slapi_ch_free_string(&config->attr_friendly);
+ slapi_ch_free_string((char **) &config->top_entry_oc);
+ slapi_ch_free_string((char **) &config->subtree_entries_oc);
}
/*