From 819d98169ed1784eb6fd32793799404506fa1602 Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Thu, 11 Aug 2011 01:08:16 -0700 Subject: [PATCH] Valgrind complaints --- libraries/libmdb/Makefile | 2 +- libraries/libmdb/mdb.c | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/libraries/libmdb/Makefile b/libraries/libmdb/Makefile index 92fed94935..4834112317 100644 --- a/libraries/libmdb/Makefile +++ b/libraries/libmdb/Makefile @@ -4,7 +4,7 @@ OPT = -O2 -g CFLAGS = -pthread $(OPT) $(W) $(XCFLAGS) LDLIBS = -all: mtest mdb_stat +all: mdb_stat mtest mtest2 clean: rm -rf mtest mdb_stat *.[ao] *~ testdb diff --git a/libraries/libmdb/mdb.c b/libraries/libmdb/mdb.c index fffbdce443..4dfd18399b 100644 --- a/libraries/libmdb/mdb.c +++ b/libraries/libmdb/mdb.c @@ -1299,6 +1299,8 @@ fail: } +#define LOCKNAME "/lock.mdb" +#define DATANAME "/data.mdb" int mdbenv_open(MDB_env *env, const char *path, unsigned int flags, mode_t mode) { @@ -1306,12 +1308,12 @@ mdbenv_open(MDB_env *env, const char *path, unsigned int flags, mode_t mode) char *lpath, *dpath; len = strlen(path); - lpath = malloc(len + sizeof("/lock.mdb") + len + sizeof("/data.db")); + lpath = malloc(len + sizeof(LOCKNAME) + len + sizeof(DATANAME)); if (!lpath) return ENOMEM; - dpath = lpath + len + sizeof("/lock.mdb"); - sprintf(lpath, "%s/lock.mdb", path); - sprintf(dpath, "%s/data.mdb", path); + dpath = lpath + len + sizeof(LOCKNAME); + sprintf(lpath, "%s" LOCKNAME, path); + sprintf(dpath, "%s" DATANAME, path); rc = mdbenv_setup_locks(env, lpath, mode, &excl); if (rc) @@ -1351,6 +1353,8 @@ mdbenv_close(MDB_env *env) if (env == NULL) return; + free(env->me_dbs[1]); + free(env->me_dbs[0]); free(env->me_dbxs); free(env->me_path); -- 2.39.2