Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix a bug found by MBI: Buffers of MPI_Sendrecv() must be disjoint
authorMartin Quinson <martin.quinson@ens-rennes.fr>
Mon, 23 Oct 2023 02:42:11 +0000 (04:42 +0200)
committerMartin Quinson <martin.quinson@ens-rennes.fr>
Mon, 23 Oct 2023 02:42:11 +0000 (04:42 +0200)
src/smpi/bindings/smpi_pmpi_request.cpp

index 94bb62b..2fb4d0e 100644 (file)
@@ -381,6 +381,8 @@ int PMPI_Sendrecv(const void* sendbuf, int sendcount, MPI_Datatype sendtype, int
   CHECK_TYPE(8, recvtype)
   CHECK_BUFFER(1, sendbuf, sendcount, sendtype)
   CHECK_BUFFER(6, recvbuf, recvcount, recvtype)
+  CHECK_ARGS((sendbuf) != (recvbuf), MPI_ERR_BUFFER,
+             "%s: Invalid parameters 1 and 6: sendbuf and recvbuf must be disjoint", __func__);
   CHECK_TAG(10, recvtag)
   CHECK_COMM(11)
   const SmpiBenchGuard suspend_bench;