0025011: IntAna_QuaQuadGeo can crash with out-of-bounds exception
authorrazmyslovich <razmyslovich@volumegraphics.com>
Mon, 16 Jun 2014 14:18:23 +0000 (16:18 +0200)
committerapn <apn@opencascade.com>
Thu, 19 Jun 2014 09:18:36 +0000 (13:18 +0400)
Fix the crash in IntAna_QuadQuadGeo by checking the number of intersections

src/IntAna/IntAna_QuadQuadGeo.cxx

index 425b268..212306a 100644 (file)
@@ -1516,7 +1516,7 @@ IntAna_QuadQuadGeo::IntAna_QuadQuadGeo(const gp_Cylinder& Cyl,
     gp_Pln aPln2(aQA2, aD3Ax2);
     //
     aIntr.Perform(aPln1, aPln2, Tol, Tol);
-    if (!aIntr.IsDone()) {
+    if (!aIntr.IsDone() || 0 == aIntr.NbSolutions()) {
       iRet=-1; // just in case. it must not be so
       typeres=IntAna_NoGeometricSolution; 
       return;