Mercurial > dovecot > original-hg > dovecot-1.2
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); }