Browse Source

Make sure we don't allocate too little space for static free-areas
because of our fiddling with alignment (because doing so is VERY BAD).

Miles Bader 21 years ago
parent
commit
a436319a3a
1 changed files with 3 additions and 1 deletions
  1. 3 1
      libc/stdlib/malloc/heap.h

+ 3 - 1
libc/stdlib/malloc/heap.h

@@ -78,7 +78,9 @@ struct heap_free_area
 #define HEAP_DECLARE_STATIC_FREE_AREA(name, size)			      \
   static struct								      \
   {									      \
-    HEAP_GRANULARITY_TYPE space[((size) - sizeof (struct heap_free_area))     \
+    HEAP_GRANULARITY_TYPE space[((size)					      \
+				 - sizeof (struct heap_free_area)	      \
+				 + (HEAP_GRANULARITY - 1))		      \
 				/ HEAP_GRANULARITY];			      \
     struct heap_free_area _fa;						      \
   } name = { { (HEAP_GRANULARITY_TYPE)0 }, { (size), 0, 0 } }