mdbx: устранение null-dereference регресса в режиме readonly-without-lck.

This commit is contained in:
Леонид Юрьев (Leonid Yuriev)
2025-01-11 23:16:55 +03:00
parent dcc8708d6a
commit b75e16f4f8
2 changed files with 9 additions and 4 deletions

View File

@@ -503,7 +503,7 @@ int txn_renew(MDBX_txn *txn, unsigned flags) {
txn->flags = MDBX_TXN_RDONLY | MDBX_TXN_FINISHED;
return MDBX_SUCCESS;
}
txn->owner = (uintptr_t)r->tid.weak;
txn->owner = likely(r) ? (uintptr_t)r->tid.weak : ((env->flags & MDBX_NOSTICKYTHREADS) ? 0 : osal_thread_self());
if ((env->flags & MDBX_NOSTICKYTHREADS) == 0 && env->txn && unlikely(env->basal_txn->owner == txn->owner) &&
(globals.runtime_flags & MDBX_DBG_LEGACY_OVERLAP) == 0)
return MDBX_TXN_OVERLAPPING;