Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[sonar] Assert that pointer is not null.
authorArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Fri, 3 May 2019 12:10:18 +0000 (14:10 +0200)
committerArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Fri, 3 May 2019 12:28:12 +0000 (14:28 +0200)
src/plugins/host_energy.cpp
src/plugins/host_load.cpp

index 125a8c8..fb960ad 100644 (file)
@@ -503,7 +503,7 @@ void sg_host_energy_plugin_init()
       simgrid::s4u::VirtualMachine* vm = dynamic_cast<simgrid::s4u::VirtualMachine*>(host);
       if (vm != nullptr)
         host = vm->get_pm();
-
+      xbt_assert(host != nullptr);
       host->extension<HostEnergy>()->update();
     }
   });
@@ -520,8 +520,10 @@ void sg_host_energy_update_all()
   simgrid::simix::simcall([]() {
     std::vector<simgrid::s4u::Host*> list = simgrid::s4u::Engine::get_instance()->get_all_hosts();
     for (auto const& host : list)
-      if (dynamic_cast<simgrid::s4u::VirtualMachine*>(host) == nullptr) // Ignore virtual machines
+      if (dynamic_cast<simgrid::s4u::VirtualMachine*>(host) == nullptr) { // Ignore virtual machines
+        xbt_assert(host != nullptr);
         host->extension<HostEnergy>()->update();
+      }
   });
 }
 
index ea40824..19c495f 100644 (file)
@@ -210,7 +210,7 @@ void sg_host_load_plugin_init()
       simgrid::s4u::VirtualMachine* vm = dynamic_cast<simgrid::s4u::VirtualMachine*>(host);
       if (vm != nullptr)
         host = vm->get_pm();
-
+      xbt_assert(host != nullptr);
       host->extension<HostLoad>()->add_activity(&activity);
       host->extension<HostLoad>()->update(); // If the system was idle until now, we need to update *before*
                                              // this computation starts running so we can keep track of the
@@ -226,7 +226,7 @@ void sg_host_load_plugin_init()
       simgrid::s4u::VirtualMachine* vm = dynamic_cast<simgrid::s4u::VirtualMachine*>(host);
       if (vm != nullptr)
         host = vm->get_pm();
-
+      xbt_assert(host != nullptr);
       host->extension<HostLoad>()->update();
     }
     else { // This runs on multiple hosts