Index: cdt.c =================================================================== --- cdt.c (revision 17775) +++ cdt.c (revision 17776) @@ -536,7 +536,9 @@ /* remove adjacent edges */ EDGELIST_FOREACH(e, p->adj_edges) assert(e->is_constrained == 0); + _node_ = _node_->next; remove_edge(cdt, e); + continue; EDGELIST_FOREACH_END(); /* remove point */ Index: cdt_test.c =================================================================== --- cdt_test.c (revision 17775) +++ cdt_test.c (revision 17776) @@ -217,5 +217,6 @@ else fprintf(stderr, "not delaunay\n"); cdt_dump_animator(&cdt, 0, p_violations, NULL); + pointlist_free(p_violations); cdt_free(&cdt); }