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;
|
csr_t ret;
|
||||||
ret.exact = false;
|
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");
|
cASSERT(mc, !"Invalid key-size");
|
||||||
ret.err = MDBX_BAD_VALSIZE;
|
ret.err = MDBX_BAD_VALSIZE;
|
||||||
return ret;
|
return ret;
|
||||||
|
Loading…
Reference in New Issue
Block a user