]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
maildir: Fixed crash in some rare situations.
authorTimo Sirainen <tss@iki.fi>
Tue, 16 Apr 2013 12:54:05 +0000 (15:54 +0300)
committerTimo Sirainen <tss@iki.fi>
Tue, 16 Apr 2013 12:54:05 +0000 (15:54 +0300)
src/lib-storage/index/maildir/maildir-util.c

index e8b49300f406ae826a4adae8bc4a2ce3903d591a..0e41b466b15be828bd9e08cebe518bf020617f46 100644 (file)
@@ -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) {