Answer from cs61c-eo (James McBryan 16730959) for Question 2 a) If free is pointing to an actual deallocable piece of memory, then it will increase the amount of free blocks. But if it is not a valid deallocable piece of memory, nothing will increase, or change for that fact. b) If free is positioned to a pointer that cannot be freed or to one non existant, then free will not free anything. c) Free frees blocks, it does not reallocate more memory. For instance if a block a code is freed and it is adjacent to another block of a free code it will combine it thus increasing the free block. If a block of code is freed and it is not adjacent to anything then that piece of memory is free, increasing the number of free blocks. d) False, same response for above.