mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 12:32:27 +01:00
MDEV-25663 Double free of transaction during truncate operation
- Patch addresses the problem to fix double free of transaction if it is own transaction.
This commit is contained in:
parent
349d77ecdd
commit
5c75ba9cad
1 changed files with 2 additions and 8 deletions
|
@ -13155,10 +13155,6 @@ ha_innobase::create(
|
|||
innobase_commit_low(trx);
|
||||
row_mysql_unlock_data_dictionary(trx);
|
||||
|
||||
if (own_trx) {
|
||||
trx_free_for_mysql(trx);
|
||||
}
|
||||
|
||||
/* Flush the log to reduce probability that the .frm files and
|
||||
the InnoDB data dictionary get out-of-sync if the user runs
|
||||
with innodb_flush_log_at_trx_commit = 0 */
|
||||
|
@ -13168,10 +13164,8 @@ ha_innobase::create(
|
|||
|
||||
error = info.create_table_update_dict();
|
||||
|
||||
/* In case of error, free the transaction only if
|
||||
it is newly created transaction in ha_innobase::create() */
|
||||
if (own_trx && error) {
|
||||
trx_free_for_mysql(info.trx());
|
||||
if (own_trx) {
|
||||
trx_free_for_mysql(trx);
|
||||
}
|
||||
|
||||
/* Tell the InnoDB server that there might be work for
|
||||
|
|
Loading…
Reference in a new issue