Here's a made-up example, not from any particular codebase:
try { f(p.get()); (void)p.release(); } catch (...) { /* f threw; don't release p after all */ }
try { f(p.get()); (void)p.release(); } catch (...) { /* f threw; don't release p after all */ }
No comments yet.