Plug mdb_cursor_renew() memleak

This commit is contained in:
Hallvard Furuseth 2013-04-22 20:46:56 +02:00 committed by Howard Chu
parent c057582573
commit 37bd48a618

View File

@ -5840,13 +5840,19 @@ mdb_cursor_open(MDB_txn *txn, MDB_dbi dbi, MDB_cursor **ret)
int
mdb_cursor_renew(MDB_txn *txn, MDB_cursor *mc)
{
unsigned flags;
if (txn == NULL || mc == NULL || mc->mc_dbi >= txn->mt_numdbs)
return EINVAL;
if (txn->mt_cursors)
return EINVAL;
flags = mc->mc_flags;
mdb_cursor_init(mc, txn, mc->mc_dbi, mc->mc_xcursor);
mc->mc_flags |= (flags & C_ALLOCD);
return MDB_SUCCESS;
}