mirror of
https://gitflic.ru/project/erthink/libmdbx.git
synced 2025-02-06 15:25:52 +00:00
mdbx: доработка контроля длины ключа внутри cursor_seek()
.
Ранее проверка внутри cursor_seek() не позволяла искать ключи длиннее чем можно поместить в таблицу, что при поиске/позиционировании не является ошибкой для ключей переменного размера.
This commit is contained in:
parent
98b28213ce
commit
c8c541649c
@ -1701,7 +1701,9 @@ __hot csr_t cursor_seek(MDBX_cursor *mc, MDBX_val *key, MDBX_val *data, MDBX_cur
|
||||
|
||||
csr_t ret;
|
||||
ret.exact = false;
|
||||
if (unlikely(key->iov_len < mc->clc->k.lmin || key->iov_len > mc->clc->k.lmax)) {
|
||||
if (unlikely(key->iov_len < mc->clc->k.lmin ||
|
||||
(key->iov_len > mc->clc->k.lmax &&
|
||||
(mc->clc->k.lmin == mc->clc->k.lmax || MDBX_DEBUG || MDBX_FORCE_ASSERTIONS)))) {
|
||||
cASSERT(mc, !"Invalid key-size");
|
||||
ret.err = MDBX_BAD_VALSIZE;
|
||||
return ret;
|
||||
|
Loading…
Reference in New Issue
Block a user