And no, it's not like malloc. If you don't understand why then you definitely shouldn't be putting recursive calls in your codebase.