I'm writing a small program which reads a single line of input, mallocs a bunch of structs, calculates and prints results and then exits. Should I free any mallocs just before the program exits (as early as possible), or does it matter? I guess it's crappy practice if I don't... But my structs are stored as a binary tree, and I have to traverse the entire tree to remove them. It just seems like more of a hassle than I need.