Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Better fix for the security warning from sonar: hide the char* buffer
[simgrid.git] / src / s4u / s4u_Comm.cpp
index 6ae30c06bcc47fe4100776b108d06c8eef82c0e1..cd8ea25a73d152e117ae8fa137ec6a0d5bde38ff 100644 (file)
@@ -221,7 +221,7 @@ Comm* Comm::start()
     on_send(*this);
     kernel::actor::CommIsendSimcall observer{sender_,
                                              mailbox_->get_impl(),
-                                             static_cast<size_t>(remains_),
+                                             remains_,
                                              rate_,
                                              static_cast<unsigned char*>(src_buff_),
                                              src_buff_size_,
@@ -230,14 +230,7 @@ Comm* Comm::start()
                                              copy_data_function_,
                                              get_data<void>(),
                                              detached_};
-    pimpl_ = kernel::actor::simcall_blocking(
-        [&observer] {
-          return kernel::activity::CommImpl::isend(
-              observer.get_issuer(), observer.get_mailbox(), observer.get_payload_size(), observer.get_rate(),
-              observer.get_src_buff(), observer.get_src_buff_size(), observer.match_fun_, observer.clean_fun_,
-              observer.copy_data_fun_, observer.get_payload(), observer.is_detached());
-        },
-        &observer);
+    pimpl_ = kernel::actor::simcall([&observer] { return kernel::activity::CommImpl::isend(&observer); }, &observer);
   } else if (dst_buff_ != nullptr) { // Receiver side
     xbt_assert(not detached_, "Receive cannot be detached");
     on_recv(*this);
@@ -249,13 +242,7 @@ Comm* Comm::start()
                                              copy_data_function_,
                                              get_data<void>(),
                                              rate_};
-    pimpl_ = kernel::actor::simcall_blocking(
-        [&observer] {
-          return kernel::activity::CommImpl::irecv(
-              observer.get_issuer(), observer.get_mailbox(), observer.get_dst_buff(), observer.get_dst_buff_size(),
-              observer.match_fun_, observer.copy_data_fun_, observer.get_payload(), observer.get_rate());
-        },
-        &observer);
+    pimpl_ = kernel::actor::simcall([&observer] { return kernel::activity::CommImpl::irecv(&observer); }, &observer);
   } else {
     xbt_die("Cannot start a communication before specifying whether we are the sender or the receiver");
   }