Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Memory leak--
authorArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Fri, 22 Nov 2019 15:19:32 +0000 (16:19 +0100)
committerArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Sun, 24 Nov 2019 20:45:00 +0000 (21:45 +0100)
src/smpi/mpi/smpi_topo.cpp

index 710eaaf..9a81496 100644 (file)
@@ -167,10 +167,8 @@ int Topo_Cart::rank(const int* coords, int* rank) {
   return MPI_SUCCESS;
 }
 
-int Topo_Cart::shift(int direction, int disp, int *rank_source, int *rank_dest) {
-
-  int* position = new int[ndims_];
-
+int Topo_Cart::shift(int direction, int disp, int* rank_source, int* rank_dest)
+{
   if(ndims_ == 0) {
     return MPI_ERR_ARG;
   }
@@ -178,6 +176,7 @@ int Topo_Cart::shift(int direction, int disp, int *rank_source, int *rank_dest)
     return MPI_ERR_DIMS;
   }
 
+  int* position = new int[ndims_];
   this->coords(getComm()->rank(), ndims_, position);
   position[direction] += disp;