Original Post
I think here I am creating a surface on the stack by creating a surface (on the heap?) and dereferencing the pointer, thus copying it (the data at the pointer).
SDL_Surface someSurface = *SDL_CreateRGBSurface(...)
The problem is, how do I free the memory I created, as I can't use SDL_FreeSurface() on someSurface? Forgive me if I've got this all wrong!