changeset 8736:d23ab2c1c0c5 HEAD

master: make sure we don't access freed memory on deinit.
author Timo Sirainen <tss@iki.fi>
date Mon, 09 Feb 2009 20:00:13 -0500
parents f8fdabb30c0a
children 9c45d585227b
files src/master/mail-process.c
diffstat 1 files changed, 3 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/src/master/mail-process.c	Mon Feb 09 19:44:07 2009 -0500
+++ b/src/master/mail-process.c	Mon Feb 09 20:00:13 2009 -0500
@@ -950,15 +950,8 @@
 
 void mail_processes_deinit(void)
 {
-	struct hash_iterate_context *iter;
-	void *key, *value;
-
-	iter = hash_table_iterate_init(mail_process_groups);
-	while (hash_table_iterate(iter, &key, &value)) {
-		struct mail_process_group *group = value;
-		mail_process_group_free(group);
-	}
-	hash_table_iterate_deinit(&iter);
-
+	/* don't free() the mail process groups. child_process structs are
+	   still referenced in child-processes and we may need to look them up.
+	   This deinit code needs a redesign.. */
 	hash_table_destroy(&mail_process_groups);
 }