BruceJawn/poly2tri

SweepContext ctor leaves several member variables uninitialized which can cause crash

GoogleCodeExporter opened this issue · 2 comments

What steps will reproduce the problem?
1. Instantiate a CDT object 
2. Delete it without calling CDT::Triangulate
3. SweepContext dtor tries to delete six uninitialized pointers


What version of the product are you using? On what operating system?

Windows 7 x64 with VS2010 C++

Not sure how to get the version number, but I just created a clone of the 
project a few days ago.


I suggest updating SweepContext ctor like this to initialize the six pointers 
which are uninitialized before Triangulate:

SweepContext::SweepContext(std::vector<Point*> polyline) :
  front_(0),
  head_(0),
  tail_(0),
  af_head_(0),
  af_middle_(0),
  af_tail_(0)
{
  basin = Basin();
  edge_event = EdgeEvent();

  points_ = polyline;

  InitEdges(points_);
}

Original issue reported on code.google.com by cgod...@gmail.com on 30 Apr 2013 at 6:35

changed. thanks!

Original comment by mason.gr...@gmail.com on 2 May 2013 at 1:47

  • Changed state: Fixed
thanks; will check this out.

Original comment by mason.gr...@gmail.com on 2 May 2013 at 1:25

  • Changed state: Accepted