From: Hallvard Furuseth Date: Wed, 20 May 2015 01:17:47 +0000 (+0200) Subject: mtest*.c: Fix MDB_NOOVERWRITE, plug cursor leak X-Git-Tag: LMDB_0.9.15~8 X-Git-Url: https://git.sur5r.net/?p=openldap;a=commitdiff_plain;h=91743d66e6e91058fff8917b5e39b8d49bfa4d7a mtest*.c: Fix MDB_NOOVERWRITE, plug cursor leak --- diff --git a/libraries/liblmdb/mtest.c b/libraries/liblmdb/mtest.c index 7efa8b59e1..9d15088b0c 100644 --- a/libraries/liblmdb/mtest.c +++ b/libraries/liblmdb/mtest.c @@ -54,12 +54,13 @@ int main(int argc,char * argv[]) key.mv_size = sizeof(int); key.mv_data = sval; - data.mv_size = sizeof(sval); - data.mv_data = sval; printf("Adding %d values\n", count); for (i=0;i in each iteration, since MDB_NOOVERWRITE may modify it */ + data.mv_size = sizeof(sval); + data.mv_data = sval; if (RES(MDB_KEYEXIST, mdb_put(txn, dbi, &key, &data, MDB_NOOVERWRITE))) { j++; data.mv_size = sizeof(sval); @@ -130,6 +131,7 @@ int main(int argc,char * argv[]) (int) key.mv_size, (char *) key.mv_data, (int) data.mv_size, (char *) data.mv_data); + mdb_cursor_close(cursor); mdb_txn_abort(txn); printf("Deleting with cursor\n"); diff --git a/libraries/liblmdb/mtest2.c b/libraries/liblmdb/mtest2.c index cc6ecf6026..eacbe59d53 100644 --- a/libraries/liblmdb/mtest2.c +++ b/libraries/liblmdb/mtest2.c @@ -57,12 +57,12 @@ int main(int argc,char * argv[]) key.mv_size = sizeof(int); key.mv_data = sval; - data.mv_size = sizeof(sval); - data.mv_data = sval; printf("Adding %d values\n", count); for (i=0;i