From 1235bbd139a1ff97f641fa0e77205eb9adbb0400 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Tue, 16 Apr 2013 15:54:05 +0300 Subject: [PATCH] maildir: Fixed crash in some rare situations. --- src/lib-storage/index/maildir/maildir-util.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/lib-storage/index/maildir/maildir-util.c b/src/lib-storage/index/maildir/maildir-util.c index e8b49300f4..0e41b466b1 100644 --- a/src/lib-storage/index/maildir/maildir-util.c +++ b/src/lib-storage/index/maildir/maildir-util.c @@ -87,6 +87,9 @@ static int maildir_file_do_try(struct maildir_mailbox *mbox, uint32_t uid, fname = maildir_filename_guess(mbox, uid, fname, &flags, &have_flags); } + /* make a copy, just in case callback refreshes uidlist and + the pointer becomes invalid. */ + fname = t_strdup(fname); ret = 0; if ((flags & MAILDIR_UIDLIST_REC_FLAG_NEW_DIR) != 0) { -- 2.47.3