Merge pull request #900 from Blewzman/FixAggregateExceptionGetBaseException
[mono.git] / mono / metadata / sgen-nursery-allocator.c
index 0d90a79806325c36d6c64f52df3b8063df4d7cd5..7abd0387fcfe08df948ec352d85ba6c5eab738c7 100644 (file)
@@ -853,6 +853,10 @@ gboolean
 sgen_can_alloc_size (size_t size)
 {
        SgenFragment *frag;
+
+       if (!SGEN_CAN_ALIGN_UP (size))
+               return FALSE;
+
        size = SGEN_ALIGN_UP (size);
 
        for (frag = unmask (mutator_allocator.alloc_head); frag; frag = unmask (frag->next)) {
@@ -865,6 +869,8 @@ sgen_can_alloc_size (size_t size)
 void*
 sgen_nursery_alloc (size_t size)
 {
+       SGEN_ASSERT (1, size >= sizeof (MonoObject) && size <= SGEN_MAX_SMALL_OBJ_SIZE, "Invalid nursery object size");
+
        SGEN_LOG (4, "Searching nursery for size: %zd", size);
        size = SGEN_ALIGN_UP (size);