Mercurial > dovecot > core-2.2
changeset 19958:17c41e72d2d9
director: Make sure freeing a user doesn't leak a timeout.
author | Timo Sirainen <timo.sirainen@dovecot.fi> |
---|---|
date | Thu, 24 Mar 2016 10:07:15 +0900 |
parents | 87c5013dc8e3 |
children | 9d1ca7caf268 |
files | src/director/user-directory.c |
diffstat | 1 files changed, 5 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/director/user-directory.c Thu Mar 24 10:01:17 2016 +0900 +++ b/src/director/user-directory.c Thu Mar 24 10:07:15 2016 +0900 @@ -54,6 +54,11 @@ i_assert(user->host->user_count > 0); user->host->user_count--; + if (user->to_move != NULL) { + /* director_user_expire is very short. user expired before + moving the user finished or timed out. */ + timeout_remove(&user->to_move); + } user_move_iters(dir, user); hash_table_remove(dir->hash, POINTER_CAST(user->username_hash));