From 93dc7934db9e5c067e7c1ba8dfef6d0cf6d815f1 Mon Sep 17 00:00:00 2001 From: aml Date: Thu, 26 May 2016 20:08:48 +0300 Subject: [PATCH] 0027544: problem compiling OCCT with gcc version 4.8.2 gives error 'array subscript is above array bounds' Possible out of borders problem is fixed. --- src/IntPatch/IntPatch_InterferencePolyhedron.cxx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/IntPatch/IntPatch_InterferencePolyhedron.cxx b/src/IntPatch/IntPatch_InterferencePolyhedron.cxx index ff88c50f66..aad11b9245 100644 --- a/src/IntPatch/IntPatch_InterferencePolyhedron.cxx +++ b/src/IntPatch/IntPatch_InterferencePolyhedron.cxx @@ -851,9 +851,11 @@ Standard_Boolean IntPatch_InterferencePolyhedron::TangentZoneValue // If one of the triangles is not in the zone of tangency, it is necessary to find // the points of intersection edge/edge : - Standard_Real parO[6], parT[6]; + // Last indexes are not used. + // Arrays are increased to eliminate gcc warning. + Standard_Real parO[10], parT[10]; Standard_Integer nbNoInserted=0; - Standard_Integer piToInsert[6]; + Standard_Integer piToInsert[10]; for (nob=0; nob<3; nob++) { //processing of the object segment P[nob], P[nob+1] @@ -866,7 +868,7 @@ Standard_Boolean IntPatch_InterferencePolyhedron::TangentZoneValue if (dpOeT[nob][nou]*dpOeT[nob2][nou]<0. && deOpT[nob][nou]*deOpT[nob][nou2]<0.) { - if (nbpInt>=6) { + if (nbpInt>=5) { break; } else { @@ -890,7 +892,7 @@ Standard_Boolean IntPatch_InterferencePolyhedron::TangentZoneValue } } } - if (nbpInt>=6) break; // Number of pi passed in TZ ! + if (nbpInt>=5) break; // Number of pi passed in TZ ! } nob=nbNoInserted-1; while (nob>=0) {