ITS#7210 fix check for freelist changes

Was being fooled before because the newly malloc'd block had
the same address as the previously freed block.
vmware
Howard Chu 13 years ago
parent 191d78948b
commit a66f9e9292
  1. 2
      libraries/libmdb/mdb.c

@ -1989,7 +1989,7 @@ again:
* due to freed overflow pages... * due to freed overflow pages...
*/ */
mdb_cursor_put(&mc, &key, &data, 0); mdb_cursor_put(&mc, &key, &data, 0);
if (mop == env->me_pghead) { if (mop == env->me_pghead && env->me_pghead->mo_txnid == id) {
/* could have been used again here */ /* could have been used again here */
if (mop->mo_pages[0] != orig) { if (mop->mo_pages[0] != orig) {
data.mv_size = MDB_IDL_SIZEOF(mop->mo_pages); data.mv_size = MDB_IDL_SIZEOF(mop->mo_pages);

Loading…
Cancel
Save