NULL is OK, both for passing and for returning.
Free data after the code is done.
Don't free data after the code is done.