mdbx: исправление упущенного TXN_END_EOTDONE при сбое старта читающей транзакции (backport).

Упомянутый флажок отсутствовал в пути разрушения транзакции при ошибке
её запуска. Из-за чего делалась попытка разрушить курсоры, что приводило
к падению отладочных сборок, так как в них соответствующий массив
намеренно заполнен некорректными указателями.
This commit is contained in:
Леонид Юрьев (Leonid Yuriev)
2024-08-07 19:29:57 +03:00
parent a6a7a291c7
commit cf6d441e1b
2 changed files with 20 additions and 1 deletions

View File

@@ -9188,7 +9188,7 @@ static int txn_renew(MDBX_txn *txn, const unsigned flags) {
}
bailout:
tASSERT(txn, rc != MDBX_SUCCESS);
txn_end(txn, MDBX_END_SLOT | MDBX_END_FAIL_BEGIN);
txn_end(txn, MDBX_END_SLOT | MDBX_END_EOTDONE | MDBX_END_FAIL_BEGIN);
return rc;
}