From 13442a04d8bdeb71ab10e6d59577748224a70926 Mon Sep 17 00:00:00 2001 From: Daniele Sciascia Date: Thu, 2 Dec 2021 14:58:46 +0100 Subject: [PATCH] Assert transaction is active before appending keys and data Attempt to append keys while transaction is not active results in creating a transaction handle with id -1 (undefined). Assert that the transaction is `active()` before appending keys. Same for appending data. --- src/transaction.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/transaction.cpp b/src/transaction.cpp index ac6495f..69380a4 100644 --- a/src/transaction.cpp +++ b/src/transaction.cpp @@ -235,6 +235,7 @@ int wsrep::transaction::assign_read_view(const wsrep::gtid* const gtid) int wsrep::transaction::append_key(const wsrep::key& key) { + assert(active()); try { debug_log_key_append(key); @@ -250,7 +251,7 @@ int wsrep::transaction::append_key(const wsrep::key& key) int wsrep::transaction::append_data(const wsrep::const_buffer& data) { - + assert(active()); return provider().append_data(ws_handle_, data); }