From 4fc6ca3c3b8a2588655ccb156e340385b7f2e59f Mon Sep 17 00:00:00 2001 From: Eric Fischer Date: Mon, 21 Mar 2016 17:23:34 -0700 Subject: [PATCH] Keep from getting stuck in an infinite loop --- clipper/clipper.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/clipper/clipper.cpp b/clipper/clipper.cpp index 97032989..ab7cb46b 100644 --- a/clipper/clipper.cpp +++ b/clipper/clipper.cpp @@ -1640,8 +1640,13 @@ void Clipper::FixHoleLinkage(OutRec &outrec) outrec.FirstLeft->Pts)) return; OutRec* orfl = outrec.FirstLeft; - while (orfl && ((orfl->IsHole == outrec.IsHole) || !orfl->Pts)) + OutRec* first = orfl; + while (orfl && ((orfl->IsHole == outrec.IsHole) || !orfl->Pts)) { orfl = orfl->FirstLeft; + if (orfl == first) { + break; + } + } outrec.FirstLeft = orfl; } //------------------------------------------------------------------------------