Add a load more assertion checks
diff --git a/preload.c b/preload.c
index 19bdd70..0e0c253 100644
--- a/preload.c
+++ b/preload.c
@@ -242,6 +242,7 @@
 	struct malloc_chunk *c, *found = NULL;
 
 	for (c = m.free.fd; c != &m.free; c = c->fd) {
+		ASSERT(prev_in_use(c));
 		if (chunk_size(c) < size)
 			continue;
 		if (found && chunk_size(found) < chunk_size(c))
@@ -261,8 +262,12 @@
 		unlink_free_chunk(c);
 		c->head |= CINUSE_BIT;
 		new_c = next_chunk(c);
-		if (new_c)
+		if (new_c) {
+			ASSERT(!prev_in_use(new_c));
+			ASSERT(new_c->prev_foot == chunk_size(c));
+
 			new_c->head |= PINUSE_BIT;
+		}
 		return;
 	}
 
@@ -279,8 +284,11 @@
 	c->fd->bk = new_c;
 	/* and adjust the next prev_foot if there is one */
 	n = next_chunk(new_c);
-	if (n)
+	if (n) {
+		ASSERT(!prev_in_use(n));
+		ASSERT(n->prev_foot == csize);
 		n->prev_foot = chunk_size(new_c);
+	}
 }
 
 static void *dlmalloc(size_t size)
@@ -319,6 +327,7 @@
 		return;
 
 	c = mem2chunk(ptr);
+	ASSERT(in_use(c));
 	/* shred the data */
 	memset(ptr, 0, chunk_size(c) - CHUNK_SIZE);