Lesson 24: Memory safety — leaks & dangling pointers
We've learned to request memory — now we learn not to get burned by it. A memory leak happens when you lose the last pointer to a block without freeing it, e.g. by assigning a new address to p before free. A double free is undefined behavior, and using a pointer after free — a dangling pointer — is