Mercurial > dovecot > core-2.2
changeset 19422:1217e5610865
imap: Free mail_user only after client is disconnected.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Fri, 27 Nov 2015 14:01:14 +0200 |
parents | 82e6a3baa001 |
children | d4e5b4ab01dd |
files | src/imap/imap-client.c |
diffstat | 1 files changed, 4 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/imap/imap-client.c Fri Nov 27 13:59:22 2015 +0200 +++ b/src/imap/imap-client.c Fri Nov 27 14:01:14 2015 +0200 @@ -367,7 +367,6 @@ mail_user_get_anvil_userip_ident(client->user), "\n", NULL)); } - mail_user_unref(&client->user); if (client->free_parser != NULL) imap_parser_unref(&client->free_parser); @@ -386,6 +385,10 @@ if (client->fd_in != client->fd_out) net_disconnect(client->fd_out); + /* Free the user after client is already disconnected. It may start + some background work like autoexpunging. */ + mail_user_unref(&client->user); + if (array_is_created(&client->search_saved_uidset)) array_free(&client->search_saved_uidset); if (array_is_created(&client->search_updates))