<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On Oct 29, 2012, at 16:19 , Jordan Rose <<a href="mailto:jordan_rose@apple.com">jordan_rose@apple.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><meta http-equiv="Content-Type" content="text/html charset=windows-1252"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On Oct 29, 2012, at 15:51 , Anna Zaks <<a href="mailto:ganna@apple.com">ganna@apple.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">+ExplodedNode *SimpleStreamChecker::reportLeaks(SymbolVector LeakedStreams,</blockquote><blockquote type="cite">+ CheckerContext &C) const {<br>+ ExplodedNode *Pred = C.getPredecessor();<br>+ if (LeakedStreams.empty())<br>+ return Pred;<br>+<br>+ // Generate an intermediate node representing the leak point.<br>+ static SimpleProgramPointTag Tag("StreamChecker : Leak");<br>+ ExplodedNode *ErrNode = C.addTransition(Pred->getState(), Pred, &Tag);<br>+ if (!ErrNode)<br>+ return Pred;<br></blockquote><div><br></div><div>Why generate an intermediate node at all? I feel like we could just generate the transition in the caller and then report all the leaks here.</div></div></div></blockquote><br></div><div>Oops, actually this is a bug, even in the final version (next commit). Two addTransition calls = bifurcation.</div><br></body></html>