From: aml Date: Thu, 26 May 2016 17:08:48 +0000 (+0300) Subject: 0027544: problem compiling OCCT with gcc version 4.8.2 gives error 'array subscript... X-Git-Tag: V7_0_winwerth~22 X-Git-Url: http://git.dev.opencascade.org/gitweb/?a=commitdiff_plain;h=93dc7934db9e5c067e7c1ba8dfef6d0cf6d815f1;p=occt-copy.git 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. --- 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) {