mirror of
https://github.com/isar/libmdbx.git
synced 2025-11-07 07:18:56 +08:00
mdbx: переработка проверки курсоров на входе API-функций с добавлением cursor_check().
This commit is contained in:
@@ -388,7 +388,10 @@ int txn_check_badbits_parked(const MDBX_txn *txn, int bad_bits) {
|
||||
* - но при распарковке поломанные транзакции завершаются.
|
||||
* - получается что транзакцию можно припарковать, потом поломать вызвав
|
||||
* mdbx_txn_break(), но далее любое её использование приведет к завершению
|
||||
* при распарковке. */
|
||||
* при распарковке.
|
||||
*
|
||||
* Поэтому для припаркованных транзакций возвращается ошибка если не-включена
|
||||
* авто-распарковка, либо есть другие плохие биты. */
|
||||
if ((txn->flags & (bad_bits | MDBX_TXN_AUTOUNPARK)) != (MDBX_TXN_PARKED | MDBX_TXN_AUTOUNPARK))
|
||||
return LOG_IFERR(MDBX_BAD_TXN);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user