TYPE* foo(...) { ... if (...) goto Error; ... if (...) goto Error; ... if (...) goto Error; ... return p; Error: ... cleanup acquired resources ... return NULL; }