Nowhere. It's the same argument as upthread. A language that forces downstream consumers of an API to correctly deal with all possible outcomes would have prevented this.
Memory is where C is broken. I feel like without `defer` or destructors the language meaningfully is incomplete.