]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
virtual: virtual-mail - Use index_mail_free
authorAki Tuomi <aki.tuomi@open-xchange.com>
Fri, 16 Apr 2021 07:01:45 +0000 (10:01 +0300)
committerAki Tuomi <aki.tuomi@open-xchange.com>
Fri, 16 Apr 2021 07:25:44 +0000 (10:25 +0300)
Since we are using index_mail_init, we need to use index_mail_free
to free up the virtual mail.

src/plugins/virtual/virtual-mail.c

index 76d773690a07b8ef1a0ef2981f4bc0cc28f7c236..3c5bac383a0cf9260c431abf1f6c61611598b36d 100644 (file)
@@ -74,21 +74,6 @@ static void virtual_mail_close(struct mail *mail)
        index_mail_close(mail);
 }
 
-static void virtual_mail_free(struct mail *mail)
-{
-       struct virtual_mail *vmail = (struct virtual_mail *)mail;
-       struct mail **mails;
-       unsigned int i, count;
-
-       vmail->imail.freeing = TRUE;
-       virtual_mail_close(mail);
-       mail->transaction->mail_ref_count--;
-
-       event_unref(&mail->event);
-       pool_unref(&vmail->imail.mail.data_pool);
-       pool_unref(&vmail->imail.mail.pool);
-}
-
 static struct mail *
 backend_mail_find(struct virtual_mail *vmail, struct mailbox *box)
 {
@@ -560,7 +545,7 @@ virtual_mail_set_cache_corrupted(struct mail *mail,
 
 struct mail_vfuncs virtual_mail_vfuncs = {
        virtual_mail_close,
-       virtual_mail_free,
+       index_mail_free,
        virtual_mail_set_seq,
        virtual_mail_set_uid,
        virtual_mail_set_uid_cache_updates,