> If the callback is a DeleteNodesCallback, then we're passing a deleted node here > into AfterChildTraversed due to line 140, no? I don't know how this code works, > can that situation occur? (CID: 9378)
You are right. But in DeleteNodesCallback, AfterChildTraversed is empty, so passing a stale pointer to it doesn't cause any harm. But I should add a comment about it, I think. Thanks for noticing!