diff --git a/graph/Graph.cc b/graph/Graph.cc index 2f82db92..df30bf0c 100644 --- a/graph/Graph.cc +++ b/graph/Graph.cc @@ -924,10 +924,13 @@ Graph::delayAnnotated(Edge *edge) while (arc_iter->hasNext()) { TimingArc *arc = arc_iter->next(); for (DcalcAPIndex ap_index = 0; ap_index < ap_count_; ap_index++) { - if (arcDelayAnnotated(edge, arc, ap_index)) + if (arcDelayAnnotated(edge, arc, ap_index)) { + delete arc_iter; return true; + } } } + delete arc_iter; return false; } diff --git a/sdc/Sdc.cc b/sdc/Sdc.cc index acfc5e65..8fd70e77 100644 --- a/sdc/Sdc.cc +++ b/sdc/Sdc.cc @@ -2173,7 +2173,9 @@ Sdc::makeClkGroupSame(ClockGroup *group) Clock *clk2 = clk_iter2.next(); if (clk1->index() <= clk2->index()) { ClockPair *clk_pair = new ClockPair(clk1, clk2); - if (!clk_group_same_->hasKey(clk_pair)) + if (clk_group_same_->hasKey(clk_pair)) + delete clk_pair; + else clk_group_same_->insert(clk_pair); } }