+static void sfree_check_redzone(struct mem_hdr *hdr, void *ptr)
+{
+#ifdef SMALLOC_REDZONE
+ unsigned int *prered, *postred;
+
+ prered = (unsigned int *) ptr;
+ postred = (unsigned int *) (ptr + hdr_size(hdr) - sizeof(unsigned int));
+
+ if (*prered != SMALLOC_PRE_RED) {
+ fprintf(stderr, "smalloc pre redzone destroyed!\n");
+ fprintf(stderr, " ptr=%p, prered=%x, expected %x\n",
+ ptr, *prered, SMALLOC_PRE_RED);
+ assert(0);
+ }
+ if (*postred != SMALLOC_POST_RED) {
+ fprintf(stderr, "smalloc post redzone destroyed!\n");
+ fprintf(stderr, " ptr=%p, postred=%x, expected %x\n",
+ ptr, *postred, SMALLOC_POST_RED);
+ assert(0);
+ }
+#endif
+}
+