cyrus-imapd/patch-cyrus-squatter-assert-crash

21 lines
900 B
Plaintext
Raw Normal View History

2022-06-09 14:52:51 +00:00
diff --git a/imap/squatter.c b/imap/squatter.c
index 6a7accf1b..0c2de4d7a 100644
--- a/imap/squatter.c
+++ b/imap/squatter.c
@@ -427,8 +427,13 @@ static void expand_mboxnames(strarray_t *sa, int nmboxnames,
else {
/* Translate any separators in mailboxname */
char *intname = mboxname_from_external(mboxnames[i], &squat_namespace, NULL);
- int flags = recursive_flag ? 0 : MBOXTREE_SKIP_CHILDREN;
- mboxlist_mboxtree(intname, addmbox, sa, flags);
+ if (!intname || *intname == '\0') {
+ fprintf(stderr, "Mailbox %s: %s\n",
+ mboxnames[i], error_message(IMAP_MAILBOX_BADNAME));
+ } else {
+ int flags = recursive_flag ? 0 : MBOXTREE_SKIP_CHILDREN;
+ mboxlist_mboxtree(intname, addmbox, sa, flags);
+ }
free(intname);
}