]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
stats: Don't crash at deinit if there are still connected sessions.
authorTimo Sirainen <tss@iki.fi>
Mon, 5 Sep 2011 08:34:43 +0000 (11:34 +0300)
committerTimo Sirainen <tss@iki.fi>
Mon, 5 Sep 2011 08:34:43 +0000 (11:34 +0300)
src/stats/mail-session.c

index ee8f8eba82d27340916c698da44812351e634c84..4936364377d1872aadd4d3e4f8f1f79013f4c5ff 100644 (file)
@@ -247,7 +247,12 @@ void mail_sessions_init(void)
 
 void mail_sessions_deinit(void)
 {
-       while (mail_sessions_head != NULL)
+       while (mail_sessions_head != NULL) {
+               struct mail_session *session = mail_sessions_head;
+
+               if (!session->disconnected)
+                       mail_session_unref(&session);
                mail_session_free(mail_sessions_head);
+       }
        hash_table_destroy(&mail_sessions_hash);
 }