mirror of
				https://github.com/jhasse/poly2tri.git
				synced 2025-10-31 20:37:10 +01:00 
			
		
		
		
	Check pointer before dereferencing it
This commit is contained in:
		| @@ -65,12 +65,14 @@ void Sweep::FinalizationPolygon(SweepContext& tcx) | |||||||
|   // Get an Internal triangle to start with |   // Get an Internal triangle to start with | ||||||
|   Triangle* t = tcx.front()->head()->next->triangle; |   Triangle* t = tcx.front()->head()->next->triangle; | ||||||
|   Point* p = tcx.front()->head()->next->point; |   Point* p = tcx.front()->head()->next->point; | ||||||
|   while (!t->GetConstrainedEdgeCW(*p)) { |   while (t && !t->GetConstrainedEdgeCW(*p)) { | ||||||
|     t = t->NeighborCCW(*p); |     t = t->NeighborCCW(*p); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   // Collect interior triangles constrained by edges |   // Collect interior triangles constrained by edges | ||||||
|   tcx.MeshClean(*t); |   if (t) { | ||||||
|  |     tcx.MeshClean(*t); | ||||||
|  |   } | ||||||
| } | } | ||||||
|  |  | ||||||
| Node& Sweep::PointEvent(SweepContext& tcx, Point& point) | Node& Sweep::PointEvent(SweepContext& tcx, Point& point) | ||||||
| @@ -227,7 +229,7 @@ void Sweep::FillAdvancingFront(SweepContext& tcx, Node& n) | |||||||
|   // Fill right holes |   // Fill right holes | ||||||
|   Node* node = n.next; |   Node* node = n.next; | ||||||
|  |  | ||||||
|   while (node->next) { |   while (node && node->next) { | ||||||
|     // if HoleAngle exceeds 90 degrees then break. |     // if HoleAngle exceeds 90 degrees then break. | ||||||
|     if (LargeHole_DontFill(node)) break; |     if (LargeHole_DontFill(node)) break; | ||||||
|     Fill(tcx, *node); |     Fill(tcx, *node); | ||||||
| @@ -237,7 +239,7 @@ void Sweep::FillAdvancingFront(SweepContext& tcx, Node& n) | |||||||
|   // Fill left holes |   // Fill left holes | ||||||
|   node = n.prev; |   node = n.prev; | ||||||
|  |  | ||||||
|   while (node->prev) { |   while (node && node->prev) { | ||||||
|     // if HoleAngle exceeds 90 degrees then break. |     // if HoleAngle exceeds 90 degrees then break. | ||||||
|     if (LargeHole_DontFill(node)) break; |     if (LargeHole_DontFill(node)) break; | ||||||
|     Fill(tcx, *node); |     Fill(tcx, *node); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Piotr Kania
					Piotr Kania