From 674f52fdb4ee29df88c8b4e20e0edfb5d5ba3138 Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Tue, 16 Sep 2014 21:54:07 +0100 Subject: [PATCH 1/2] Silence some clang warnings --- libraries/liblmdb/mdb_dump.c | 4 ++++ libraries/liblmdb/mdb_load.c | 6 ++++-- libraries/liblmdb/mdb_stat.c | 8 ++++++-- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/libraries/liblmdb/mdb_dump.c b/libraries/liblmdb/mdb_dump.c index 3b01f9643d..0eb85fd20e 100644 --- a/libraries/liblmdb/mdb_dump.c +++ b/libraries/liblmdb/mdb_dump.c @@ -233,6 +233,10 @@ int main(int argc, char *argv[]) envname = argv[optind]; rc = mdb_env_create(&env); + if (rc) { + fprintf(stderr, "mdb_env_create failed, error %d %s\n", rc, mdb_strerror(rc)); + return EXIT_FAILURE; + } if (alldbs || subname) { mdb_env_set_maxdbs(env, 2); diff --git a/libraries/liblmdb/mdb_load.c b/libraries/liblmdb/mdb_load.c index 268fe0db54..e0d95e13c3 100644 --- a/libraries/liblmdb/mdb_load.c +++ b/libraries/liblmdb/mdb_load.c @@ -64,8 +64,6 @@ flagbit dbflags[] = { { 0, NULL, 0 } }; -static const char hexc[] = "0123456789abcdef"; - static void readhdr(void) { char *ptr; @@ -345,6 +343,10 @@ int main(int argc, char *argv[]) envname = argv[optind]; rc = mdb_env_create(&env); + if (rc) { + fprintf(stderr, "mdb_env_create failed, error %d %s\n", rc, mdb_strerror(rc)); + return EXIT_FAILURE; + } mdb_env_set_maxdbs(env, 2); diff --git a/libraries/liblmdb/mdb_stat.c b/libraries/liblmdb/mdb_stat.c index 25c092c04f..1e9229296f 100644 --- a/libraries/liblmdb/mdb_stat.c +++ b/libraries/liblmdb/mdb_stat.c @@ -105,6 +105,10 @@ int main(int argc, char *argv[]) envname = argv[optind]; rc = mdb_env_create(&env); + if (rc) { + fprintf(stderr, "mdb_env_create failed, error %d %s\n", rc, mdb_strerror(rc)); + return EXIT_FAILURE; + } if (alldbs || subname) { mdb_env_set_maxdbs(env, 4); @@ -117,8 +121,8 @@ int main(int argc, char *argv[]) } if (envinfo) { - rc = mdb_env_stat(env, &mst); - rc = mdb_env_info(env, &mei); + (void)mdb_env_stat(env, &mst); + (void)mdb_env_info(env, &mei); printf("Environment Info\n"); printf(" Map address: %p\n", mei.me_mapaddr); printf(" Map size: %"Z"u\n", mei.me_mapsize); From 891e6627548939c60e229e61feb1d3c3322f3bcc Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Thu, 18 Sep 2014 01:22:02 +0100 Subject: [PATCH 2/2] Plug leak in 4d02c741b120786df1b87ee9ed49c1d3f9bc7522 Free writer txn on env_close --- libraries/liblmdb/mdb.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libraries/liblmdb/mdb.c b/libraries/liblmdb/mdb.c index 4ed78a740d..7ddb36e200 100644 --- a/libraries/liblmdb/mdb.c +++ b/libraries/liblmdb/mdb.c @@ -4559,6 +4559,7 @@ mdb_env_close0(MDB_env *env, int excl) free(env->me_dbxs); free(env->me_path); free(env->me_dirty_list); + free(env->me_txn0); mdb_midl_free(env->me_free_pgs); if (env->me_flags & MDB_ENV_TXKEY) {