Add check for chunk minsize
diff --git a/preload.c b/preload.c
index 45d4a37..4834036 100644
--- a/preload.c
+++ b/preload.c
@@ -49,7 +49,7 @@
 };
 
 #define CHUNK_SIZE (sizeof(struct malloc_chunk_head))
-#define MIN_CHUNK 0x10
+#define MIN_CHUNK 0x20
 #define CHUNK_ALIGNMENT (MIN_CHUNK - 1)
 
 struct segptr {
@@ -233,6 +233,13 @@
 
 void __attribute__ ((constructor)) preload_setup(void)
 {
+	/*
+	 * if this fails, the MIN_CHUNK, which must be a power of 2
+	 * isn't big enough.  If that happens, chunk splitting will
+	 * fail because the free list pointers get overwritten by the
+	 * split
+	 */
+	ASSERT(sizeof(struct malloc_chunk) < MIN_CHUNK);
 	if (getenv("MALLOC_DEBUG") != NULL)
 		debug = 1;
 	if (getenv("NO_SECRET_MEM") != NULL)