From: Aki Tuomi Date: Fri, 16 Apr 2021 07:24:22 +0000 (+0300) Subject: virtual: virtual-mail - Free wanted headers in close if we are freeing X-Git-Tag: 2.3.15~75 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=df46da1acef91a01fd64e91df547a4b61b1b59eb;p=thirdparty%2Fdovecot%2Fcore.git virtual: virtual-mail - Free wanted headers in close if we are freeing Simplifies next change --- diff --git a/src/plugins/virtual/virtual-mail.c b/src/plugins/virtual/virtual-mail.c index e482cec824..76d773690a 100644 --- a/src/plugins/virtual/virtual-mail.c +++ b/src/plugins/virtual/virtual-mail.c @@ -67,8 +67,10 @@ static void virtual_mail_close(struct mail *mail) else p->v.close(mails[i]); } - if (vmail->imail.freeing) + if (vmail->imail.freeing) { array_free(&vmail->backend_mails); + mailbox_header_lookup_unref(&vmail->wanted_headers); + } index_mail_close(mail); } @@ -82,7 +84,6 @@ static void virtual_mail_free(struct mail *mail) virtual_mail_close(mail); mail->transaction->mail_ref_count--; - mailbox_header_lookup_unref(&vmail->wanted_headers); event_unref(&mail->event); pool_unref(&vmail->imail.mail.data_pool); pool_unref(&vmail->imail.mail.pool);