]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: Fix potential dict transaction leak on transaction rollback.
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Wed, 29 Mar 2017 10:28:36 +0000 (13:28 +0300)
committerGitLab <gitlab@git.dovecot.net>
Wed, 29 Mar 2017 17:17:18 +0000 (20:17 +0300)
src/lib-storage/index/index-transaction.c

index cc385a641446ff25fbeee400056317c76fc386d0..45ec4725d02af5aa7075e67557c541cca4106ca5 100644 (file)
@@ -103,6 +103,11 @@ index_transaction_index_rollback(struct mail_index_transaction *index_trans)
        struct mailbox_transaction_context *t =
                MAIL_STORAGE_CONTEXT(index_trans);
 
+       if (t->attr_pvt_trans != NULL)
+               dict_transaction_rollback(&t->attr_pvt_trans);
+       if (t->attr_shared_trans != NULL)
+               dict_transaction_rollback(&t->attr_shared_trans);
+
        if (t->save_ctx != NULL) {
                mailbox_save_context_deinit(t->save_ctx);
                t->box->v.transaction_save_rollback(t->save_ctx);