• Marko Mäkelä's avatar
    MDEV-15029 XA COMMIT and XA ROLLBACK operate on freed transaction object · d04e1d4b
    Marko Mäkelä authored
    innobase_commit_by_xid(), innobase_rollback_by_xid(): Decrement
    the reference count before freeing the transaction object to the pool.
    Failure to do so might corrupt the transaction bookkeeping
    if trx_create_low() returns the same object to another thread
    before we are done with it.
    
    trx_sys_close(): Detach the recovered XA PREPARE transactions from
    trx_sys->rw_trx_list before freeing them.
    d04e1d4b
ha_innodb.cc 646 KB