From: Aki Tuomi Date: Tue, 30 Sep 2025 17:21:22 +0000 (+0300) Subject: virtual: Allow mailbox_count header to be empty X-Git-Tag: 2.4.2~360 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ac6302f8cac1770638a9f5202dfb86a41c7c57d3;p=thirdparty%2Fdovecot%2Fcore.git virtual: Allow mailbox_count header to be empty If no folders match, do not error out. Fixes Error: Mailbox INBOX: virtual index INBOX: Broken mailbox_count header --- diff --git a/src/plugins/virtual/virtual-sync.c b/src/plugins/virtual/virtual-sync.c index db8ab9e2a3..99835a0ef3 100644 --- a/src/plugins/virtual/virtual-sync.c +++ b/src/plugins/virtual/virtual-sync.c @@ -265,7 +265,8 @@ int virtual_mailbox_ext_header_read(struct virtual_mailbox *mbox, mailboxes = (const void *)(ext_hdr + 1); ext_name_offset = sizeof(*ext_hdr) + ext_hdr->mailbox_count * sizeof(*mailboxes); - if (ext_name_offset >= ext_size || + if ((ext_name_offset == ext_size && ext_hdr->mailbox_count > 0) || + ext_name_offset > ext_size || ext_hdr->mailbox_count > INT_MAX/sizeof(*mailboxes)) { e_error(event, "virtual index %s: Broken mailbox_count header",