mirror of
https://github.com/isar/libmdbx.git
synced 2025-04-01 14:52:57 +08:00
mdbx: доработка контроля длины ключа внутри cursor_set()
(backport).
Ранее проверка внутри cursor_set() не позволяла искать ключи длиннее чем можно поместить в таблицу, что при поиске/позиционировании не является ошибкой для ключей переменного размера.
This commit is contained in:
parent
40a474e9b3
commit
a5c5e77c03
@ -16520,7 +16520,8 @@ cursor_set(MDBX_cursor *mc, MDBX_val *key, MDBX_val *data, MDBX_cursor_op op) {
|
||||
struct cursor_set_result ret;
|
||||
ret.exact = false;
|
||||
if (unlikely(key->iov_len < mc->mc_dbx->md_klen_min ||
|
||||
key->iov_len > mc->mc_dbx->md_klen_max)) {
|
||||
(key->iov_len > mc->mc_dbx->md_klen_max &&
|
||||
(mc->mc_dbx->md_klen_min == mc->mc_dbx->md_klen_max || MDBX_DEBUG || MDBX_FORCE_ASSERTIONS)))) {
|
||||
cASSERT(mc, !"Invalid key-size");
|
||||
ret.err = MDBX_BAD_VALSIZE;
|
||||
return ret;
|
||||
|
Loading…
x
Reference in New Issue
Block a user