]> SALOME platform Git repositories - modules/smesh.git/commitdiff
Salome HOME
#18803 [CEA 18712] Mesh.ReorientObject(groupVolumes) generates a SIGSEV with SMESH...
authoreap <eap@opencascade.com>
Wed, 4 Mar 2020 15:28:04 +0000 (18:28 +0300)
committereap <eap@opencascade.com>
Wed, 4 Mar 2020 15:28:04 +0000 (18:28 +0300)
src/SMDS/SMDS_MeshVolume.cxx

index d684a56383d3348f9bd6f29091ed8a6eb5210757..1c6ee20db3589cde28e43c8b837f8138a79dbaa5 100644 (file)
@@ -82,10 +82,9 @@ bool SMDS_MeshVolume::ChangeNodes(const std::vector<const SMDS_MeshNode*>& nodes
     return false;
 
   vtkIdType nFaces = 0;
-  vtkIdType *ptIds;
   vtkIdType const *tmp(nullptr);
   getGrid()->GetFaceStream( GetVtkID(), nFaces, tmp );
-  std::copy(tmp, tmp+nFaces, ptIds);
+  vtkIdType *ptIds = const_cast<vtkIdType*>( tmp );
 
   // stream size and nb faces should not change
 
@@ -93,14 +92,14 @@ bool SMDS_MeshVolume::ChangeNodes(const std::vector<const SMDS_MeshNode*>& nodes
   {
     return false;
   }
-  int id = 0, nbPoints = 0;
+  size_t id = 0, nbPoints = 0;
   for ( int i = 0; i < nFaces; i++ )
   {
     int nodesInFace = ptIds[id];
     nbPoints += nodesInFace;
     id += (nodesInFace + 1);
   }
-  if ((int) nodes.size() != nbPoints )
+  if ( nodes.size() != nbPoints )
   {
     return false;
   }