dovecot-2.2: maildir: Fixed a crash caused by previous mailbox_u...
dovecot at dovecot.org
dovecot at dovecot.org
Sat Dec 15 14:37:32 EET 2012
details: http://hg.dovecot.org/dovecot-2.2/rev/eed88e231043
changeset: 15484:eed88e231043
user: Timo Sirainen <tss at iki.fi>
date: Sat Dec 15 14:37:20 2012 +0200
description:
maildir: Fixed a crash caused by previous mailbox_update() change
diffstat:
src/lib-storage/index/maildir/maildir-storage.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diffs (29 lines):
diff -r fc6873897e8b -r eed88e231043 src/lib-storage/index/maildir/maildir-storage.c
--- a/src/lib-storage/index/maildir/maildir-storage.c Sat Dec 15 14:27:56 2012 +0200
+++ b/src/lib-storage/index/maildir/maildir-storage.c Sat Dec 15 14:37:20 2012 +0200
@@ -420,6 +420,7 @@
{
struct maildir_mailbox *mbox = (struct maildir_mailbox *)box;
struct maildir_uidlist *uidlist;
+ bool locked = FALSE;
int ret = 0;
if (!box->opened) {
@@ -433,6 +434,7 @@
if (maildir_uidlist_lock(uidlist) <= 0)
return -1;
+ locked = TRUE;
if (!guid_128_is_empty(update->mailbox_guid))
maildir_uidlist_set_mailbox_guid(uidlist, update->mailbox_guid);
if (update->uid_validity != 0)
@@ -445,7 +447,8 @@
}
if (ret == 0)
ret = index_storage_mailbox_update(box, update);
- maildir_uidlist_unlock(uidlist);
+ if (locked)
+ maildir_uidlist_unlock(uidlist);
return ret;
}
More information about the dovecot-cvs
mailing list