]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
master: make sure we don't access freed memory on deinit.
authorTimo Sirainen <tss@iki.fi>
Tue, 10 Feb 2009 01:00:13 +0000 (20:00 -0500)
committerTimo Sirainen <tss@iki.fi>
Tue, 10 Feb 2009 01:00:13 +0000 (20:00 -0500)
--HG--
branch : HEAD

src/master/mail-process.c

index 626b7944d8488cee722d17c465c178b0f6a8de79..875df684b59c69bb6abf7fe534913069ebf7db42 100644 (file)
@@ -950,15 +950,8 @@ void mail_processes_init(void)
 
 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);
 }