mirror of
https://git.openldap.org/openldap/openldap.git
synced 2026-01-17 20:34:08 -05:00
ITS#7219 fix for odd-aligned keys in mdb_update_key()
This commit is contained in:
parent
91bab157f6
commit
0f10814494
1 changed files with 4 additions and 3 deletions
|
|
@ -5054,11 +5054,11 @@ mdb_cursor_dbi(MDB_cursor *mc)
|
|||
static int
|
||||
mdb_update_key(MDB_page *mp, indx_t indx, MDB_val *key)
|
||||
{
|
||||
indx_t ptr, i, numkeys;
|
||||
int delta;
|
||||
size_t len;
|
||||
MDB_node *node;
|
||||
char *base;
|
||||
size_t len;
|
||||
int delta;
|
||||
indx_t ptr, i, numkeys;
|
||||
DKBUF;
|
||||
|
||||
node = NODEPTR(mp, indx);
|
||||
|
|
@ -5078,6 +5078,7 @@ mdb_update_key(MDB_page *mp, indx_t indx, MDB_val *key)
|
|||
#endif
|
||||
|
||||
delta = key->mv_size - node->mn_ksize;
|
||||
delta += (delta & 1);
|
||||
if (delta) {
|
||||
if (delta > 0 && SIZELEFT(mp) < delta) {
|
||||
DPRINTF("OUCH! Not enough room, delta = %d", delta);
|
||||
|
|
|
|||
Loading…
Reference in a new issue