Browse Source

tdb: don't leak memory in tests.

Rusty Russell 14 years ago
parent
commit
9130be55f9
2 changed files with 14 additions and 5 deletions
  1. 13 5
      ccan/tdb/test/run-incompatible.c
  2. 1 0
      ccan/tdb/test/run-zero-append.c

+ 13 - 5
ccan/tdb/test/run-incompatible.c

@@ -45,7 +45,7 @@ int main(int argc, char *argv[])
 {
 	struct tdb_context *tdb;
 	unsigned int log_count, flags;
-	TDB_DATA d;
+	TDB_DATA d, r;
 	struct tdb_logging_context log_ctx = { log_fn, &log_count };
 
 	plan_tests(38 * 2);
@@ -78,7 +78,9 @@ int main(int argc, char *argv[])
 				  O_RDWR, 0600, &log_ctx, NULL);
 		ok1(tdb);
 		ok1(log_count == 0);
-		ok1(tdb_fetch(tdb, d).dsize == 5);
+		r = tdb_fetch(tdb, d);
+		ok1(r.dsize == 5);
+		free(r.dptr);
 		ok1(tdb_check(tdb, NULL, NULL) == 0);
 		tdb_close(tdb);
 
@@ -127,7 +129,9 @@ int main(int argc, char *argv[])
 				  O_RDWR, 0600, &log_ctx, tdb_jenkins_hash);
 		ok1(tdb);
 		ok1(log_count == 0);
-		ok1(tdb_fetch(tdb, d).dsize == 5);
+		r = tdb_fetch(tdb, d);
+		ok1(r.dsize == 5);
+		free(r.dptr);
 		ok1(tdb_check(tdb, NULL, NULL) == 0);
 		tdb_close(tdb);
 
@@ -137,7 +141,9 @@ int main(int argc, char *argv[])
 				  O_RDWR, 0600, &log_ctx, NULL);
 		ok1(tdb);
 		ok1(log_count == 0);
-		ok1(tdb_fetch(tdb, d).dsize == 5);
+		r = tdb_fetch(tdb, d);
+		ok1(r.dsize == 5);
+		free(r.dptr);
 		ok1(tdb_check(tdb, NULL, NULL) == 0);
 		tdb_close(tdb);
 
@@ -170,7 +176,9 @@ int main(int argc, char *argv[])
 				  &log_ctx, tdb_dumb_hash);
 		ok1(tdb);
 		ok1(log_count == 0);
-		ok1(tdb_fetch(tdb, d).dsize == 5);
+		r = tdb_fetch(tdb, d);
+		ok1(r.dsize == 5);
+		free(r.dptr);
 		ok1(tdb_check(tdb, NULL, NULL) == 0);
 		tdb_close(tdb);
 	}

+ 1 - 0
ccan/tdb/test/run-zero-append.c

@@ -36,6 +36,7 @@ int main(int argc, char *argv[])
 	data = tdb_fetch(tdb, key);
 	ok1(data.dsize == 0);
 	tdb_close(tdb);
+	free(data.dptr);
 
 	return exit_status();
 }