From 5b160be1286483f158f27521775390e3b90e8c1a Mon Sep 17 00:00:00 2001 From: Leo Yuriev Date: Tue, 3 Jan 2017 16:09:34 +0300 Subject: [PATCH] mdbx: assert_fail() when `INDXSIZE(key) > nodemax`. Change-Id: I2fadc68a3e682dd3d8b3b8b5f48ed096e9a92288 --- mdb.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mdb.c b/mdb.c index f100f392..3d442588 100644 --- a/mdb.c +++ b/mdb.c @@ -7232,10 +7232,11 @@ mdb_branch_size(MDB_env *env, MDB_val *key) size_t sz; sz = INDXSIZE(key); - if (sz > env->me_nodemax) { + if (unlikely(sz > env->me_nodemax)) { /* put on overflow page */ /* not implemented */ - /* sz -= key->size - sizeof(pgno_t); */ + mdb_assert_fail(env, "INDXSIZE(key) <= env->me_nodemax", __FUNCTION__, __LINE__); + sz -= key->mv_size - sizeof(pgno_t); } return sz + sizeof(indx_t);