Answer from cs61c-ah (Charles Lee 16102343) for Question 1 My vote is for b and c. If the first fit block is bigger than requested, it splits that block, which leads to scenario b. If there's not a big enough free block for your malloc call, malloc goes and frees up some more memory. This new memory may be exactly what you had asked for or perhaps a bit too large, leaving the free blocks unchanged or maybe even increased.