dovecot-2.2: lib-storage: Fixed potential memory leak when mailb...
dovecot at dovecot.org
dovecot at dovecot.org
Mon Oct 29 17:55:54 EET 2012
details: http://hg.dovecot.org/dovecot-2.2/rev/28be06dbd65e
changeset: 15300:28be06dbd65e
user: Timo Sirainen <tss at iki.fi>
date: Wed Oct 03 05:43:27 2012 +0300
description:
lib-storage: Fixed potential memory leak when mailbox_transaction_commit_get_changes() failed
diffstat:
src/lib-storage/mail-storage.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diffs (26 lines):
diff -r 16f2f71c91b1 -r 28be06dbd65e src/lib-storage/mail-storage.c
--- a/src/lib-storage/mail-storage.c Wed Oct 03 05:42:55 2012 +0300
+++ b/src/lib-storage/mail-storage.c Wed Oct 03 05:43:27 2012 +0300
@@ -1485,7 +1485,6 @@
/* Store changes temporarily so that plugins overriding
transaction_commit() can look at them. */
- changes.pool = NULL;
ret = mailbox_transaction_commit_get_changes(t, &changes);
if (changes.pool != NULL)
pool_unref(&changes.pool);
@@ -1500,11 +1499,14 @@
int ret;
t->box->transaction_count--;
+ changes_r->pool = NULL;
*_t = NULL;
T_BEGIN {
ret = t->box->v.transaction_commit(t, changes_r);
} T_END;
+ if (ret < 0 && changes_r->pool != NULL)
+ pool_unref(&changes_r->pool);
return ret;
}
More information about the dovecot-cvs
mailing list