Browse Source

fix mem leaks with parent dn log message, setting winsync windows domain
Reviewed by: nkinder (Thanks!)
Branch: 389-ds-base-1.2.11
(cherry picked from commit f59ea3c6cfe5bcd1e8604c0215df651d491587b9)
(cherry picked from commit ae6a33f6a27689465365c7bc2c17225ceeba5141)

Rich Megginson 13 years ago
parent
commit
33ce2a93fb

+ 3 - 1
ldap/servers/plugins/posix-winsync/posix-winsync-config.c

@@ -81,8 +81,10 @@ posix_winsync_agmt_init(const Slapi_DN *ds_subtree, const Slapi_DN *ad_subtree)
         sdn = slapi_get_next_suffix(&node, 0);
     }
     if (!sdn) {
+        char *pardn = slapi_dn_parent(slapi_sdn_get_dn(ds_subtree));
         slapi_log_error(SLAPI_LOG_FATAL, POSIX_WINSYNC_PLUGIN_NAME, "suffix not found for '%s'\n",
-                        slapi_dn_parent(slapi_sdn_get_dn(ds_subtree)));
+                        pardn);
+        slapi_ch_free_string(&pardn);
     }
 
     slapi_log_error(SLAPI_LOG_PLUGIN, POSIX_WINSYNC_PLUGIN_NAME,

+ 2 - 0
ldap/servers/plugins/replication/windows_private.c

@@ -363,6 +363,7 @@ void windows_agreement_delete(Repl_Agmt *ra)
 	slapi_filter_free(dp->directory_filter, 1);
 	slapi_filter_free(dp->deleted_filter, 1);
 	slapi_entry_free(dp->raw_entry);
+	slapi_ch_free_string(&dp->windows_domain);
 	dp->raw_entry = NULL;
 	dp->api_cookie = NULL;
 	slapi_ch_free((void **)dp);
@@ -529,6 +530,7 @@ windows_private_set_windows_domain(const Repl_Agmt *ra, char *domain)
 		dp = (Dirsync_Private *) agmt_get_priv(ra);
 		PR_ASSERT (dp);
 
+		slapi_ch_free_string(&dp->windows_domain);
 		dp->windows_domain = domain;
 		
 		LDAPDebug0Args( LDAP_DEBUG_TRACE, "<= windows_private_set_windows_domain\n" );