Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix a few potential memory leaks in SMPI colls
[simgrid.git] / src / smpi / colls / allgather / allgather-NTSLR-NB.cpp
index ae9d195..1745ced 100644 (file)
@@ -25,8 +25,6 @@ allgather__NTSLR_NB(const void *sbuf, int scount, MPI_Datatype stype,
   size = comm->size();
   rextent = rtype->get_extent();
   sextent = stype->get_extent();
-  auto* rrequest_array = new MPI_Request[size];
-  auto* srequest_array = new MPI_Request[size];
 
   // irregular case use default MPI functions
   if (scount * sextent != rcount * rextent) {
@@ -49,6 +47,9 @@ allgather__NTSLR_NB(const void *sbuf, int scount, MPI_Datatype stype,
   //start sending logical ring message
   int increment = scount * sextent;
 
+  auto* rrequest_array = new MPI_Request[size];
+  auto* srequest_array = new MPI_Request[size];
+
   //post all irecv first
   for (i = 0; i < size - 1; i++) {
     recv_offset = ((rank - i - 1 + size) % size) * increment;