Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix null dereference.
authorArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Sat, 3 Apr 2021 13:40:26 +0000 (15:40 +0200)
committerArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Sat, 3 Apr 2021 13:40:26 +0000 (15:40 +0200)
src/smpi/internals/smpi_utils.cpp

index ef9648c..062ff2d 100644 (file)
@@ -135,8 +135,10 @@ void print_memory_analysis()
 {
   // Put the leaked non-default handles in a vector to sort them by id
   std::vector<std::pair<unsigned int, smpi::F2C*>> handles;
-  std::copy_if(simgrid::smpi::F2C::lookup()->begin(), simgrid::smpi::F2C::lookup()->end(), std::back_inserter(handles),
-               [](auto const& entry) { return entry.first >= simgrid::smpi::F2C::get_num_default_handles(); });
+  if (simgrid::smpi::F2C::lookup() != nullptr)
+    std::copy_if(simgrid::smpi::F2C::lookup()->begin(), simgrid::smpi::F2C::lookup()->end(),
+                 std::back_inserter(handles),
+                 [](auto const& entry) { return entry.first >= simgrid::smpi::F2C::get_num_default_handles(); });
 
   if (not handles.empty()) {
     XBT_INFO("Probable memory leaks in your code: SMPI detected %zu unfreed MPI handles : "