From: Brian Norris Date: Wed, 6 Feb 2013 22:46:21 +0000 (-0800) Subject: cyclegraph: don't delete promise nodes X-Git-Tag: oopsla2013~276 X-Git-Url: http://plrg.eecs.uci.edu/git/?p=model-checker.git;a=commitdiff_plain;h=a482ef2b49ff9bcae7a6898585409181bce3f02a cyclegraph: don't delete promise nodes Merging can fail partway, leaving a somewhat inconsistent graph. This is safe, since an inconsistent graph must be discarded as infeasible. But this is a problem when dumping the modification order graph, since we may dereference freed nodes. So for now, just don't free them. --- diff --git a/cyclegraph.cc b/cyclegraph.cc index 69d6660..e0b2215 100644 --- a/cyclegraph.cc +++ b/cyclegraph.cc @@ -198,7 +198,7 @@ bool CycleGraph::mergeNodes(CycleNode *w_node, CycleNode *p_node, } erasePromiseNode(promise); - delete p_node; + /* Not deleting p_node, to maintain consistency if mergeNodes() fails */ return !hasCycles; }