From 9cf82c840320f6845b2ec4a333202f899d09464b Mon Sep 17 00:00:00 2001 From: Sergei Shulepov Date: Wed, 21 Jan 2026 14:23:26 +0000 Subject: [PATCH] fix: supply a real ptr to mdbx_dbi_flags_ex (#21230) --- crates/storage/libmdbx-rs/src/transaction.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/crates/storage/libmdbx-rs/src/transaction.rs b/crates/storage/libmdbx-rs/src/transaction.rs index f0f4f120ae..67f28ae9e3 100644 --- a/crates/storage/libmdbx-rs/src/transaction.rs +++ b/crates/storage/libmdbx-rs/src/transaction.rs @@ -223,7 +223,11 @@ where let mut flags: c_uint = 0; unsafe { self.txn_execute(|txn| { - mdbx_result(ffi::mdbx_dbi_flags_ex(txn, dbi, &mut flags, ptr::null_mut())) + // `mdbx_dbi_flags_ex` requires `status` to be a non-NULL ptr, otherwise it will + // return an EINVAL and panic below, so we just provide a placeholder variable + // which we discard immediately. + let mut _status: c_uint = 0; + mdbx_result(ffi::mdbx_dbi_flags_ex(txn, dbi, &mut flags, &mut _status)) })??; }