]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
virtual: Allow mailbox_count header to be empty
authorAki Tuomi <aki.tuomi@open-xchange.com>
Tue, 30 Sep 2025 17:21:22 +0000 (20:21 +0300)
committertimo.sirainen <timo.sirainen@open-xchange.com>
Wed, 8 Oct 2025 09:32:58 +0000 (09:32 +0000)
If no folders match, do not error out. Fixes
Error: Mailbox INBOX: virtual index INBOX: Broken mailbox_count header

src/plugins/virtual/virtual-sync.c

index db8ab9e2a3ff4491e56759aaba758af55a8d2e4a..99835a0ef325bcd1a6898dcb2f156120bdcc370e 100644 (file)
@@ -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",