mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-20 22:59:34 -05:00
ITS#8447 fix cursor_put(MDB_CURRENT) on DUPSORT DB with different-sized data
This commit is contained in:
parent
137fef056d
commit
76bad923f7
1 changed files with 3 additions and 0 deletions
|
|
@ -6963,11 +6963,14 @@ current:
|
|||
else if (!(mc->mc_flags & C_SUB))
|
||||
memcpy(olddata.mv_data, data->mv_data, data->mv_size);
|
||||
else {
|
||||
if (key->mv_size != NODEKSZ(leaf))
|
||||
goto new_ksize;
|
||||
memcpy(NODEKEY(leaf), key->mv_data, key->mv_size);
|
||||
goto fix_parent;
|
||||
}
|
||||
return MDB_SUCCESS;
|
||||
}
|
||||
new_ksize:
|
||||
mdb_node_del(mc, 0);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue