]> git.sur5r.net Git - openldap/commitdiff
Valgrind complaints
authorHoward Chu <hyc@symas.com>
Thu, 11 Aug 2011 08:08:16 +0000 (01:08 -0700)
committerHoward Chu <hyc@symas.com>
Thu, 1 Sep 2011 23:17:07 +0000 (16:17 -0700)
libraries/libmdb/Makefile
libraries/libmdb/mdb.c

index 92fed9493579ee53afafa5811ef09a5f141a9599..483411231762cd362c110e44292da0622eed351d 100644 (file)
@@ -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
index fffbdce443a29f9206b1bee8a4c1e6aba3580b1c..4dfd18399b9bbaa08afdba2e2cfde4351d4d45a8 100644 (file)
@@ -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);