feed me dead beef
My recollection from 80's and 90's work with Unix and embedded stuff is that in many libraries free'd memory blocks had 0xDEADBEEF written to them and that the other was 0xFEEDFACE in newly allocated regions, and padding between data elements (at the end of an array or stack frame).
I don't remember if the C library malloc() routine was spec'd to deliver zero-filled regions or not. Certainly the underlying Unix brk() call did not.