]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
global: dict_transaction_rollback(NULL) is a no-op
authorJosef 'Jeff' Sipek <jeff.sipek@open-xchange.com>
Mon, 22 Feb 2021 22:43:05 +0000 (17:43 -0500)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Wed, 3 Mar 2021 12:36:16 +0000 (12:36 +0000)
coccinelle/null-nop-dict_transaction_rollback.cocci [new file with mode: 0644]
src/dict/dict-connection.c
src/lib-storage/index/index-transaction.c

diff --git a/coccinelle/null-nop-dict_transaction_rollback.cocci b/coccinelle/null-nop-dict_transaction_rollback.cocci
new file mode 100644 (file)
index 0000000..01f8c57
--- /dev/null
@@ -0,0 +1,8 @@
+@@
+expression E;
+@@
+
+- if (E != NULL) {
+-      dict_transaction_rollback(&E);
+- }
++ dict_transaction_rollback(&E);
index 7228328d5cd284e5da5ce458dbec1876104b60b2..2375c78f499f90041348539d7d4a7f0633570e97 100644 (file)
@@ -160,10 +160,8 @@ bool dict_connection_unref(struct dict_connection *conn)
        /* we should have only transactions that haven't been committed or
           rollbacked yet. close those before dict is deinitialized. */
        if (array_is_created(&conn->transactions)) {
-               array_foreach_modifiable(&conn->transactions, transaction) {
-                       if (transaction->ctx != NULL)
-                               dict_transaction_rollback(&transaction->ctx);
-               }
+               array_foreach_modifiable(&conn->transactions, transaction)
+                       dict_transaction_rollback(&transaction->ctx);
        }
 
        if (conn->dict != NULL)
index 85c94a92f7ff01df22be7281bd823c9358af7986..ac7f2bf861d8b226a62dd5c61f6ccb5f1ae6f952 100644 (file)
@@ -101,10 +101,8 @@ index_transaction_index_rollback(struct mail_index_transaction *index_trans)
        struct mailbox_transaction_context *t =
                MAIL_STORAGE_CONTEXT_REQUIRE(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);
+       dict_transaction_rollback(&t->attr_pvt_trans);
+       dict_transaction_rollback(&t->attr_shared_trans);
 
        if (t->save_ctx != NULL) {
                mailbox_save_context_deinit(t->save_ctx);