Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Correctly check the params of Sendrecv for buffer being disjoint
authorMartin Quinson <martin.quinson@ens-rennes.fr>
Mon, 23 Oct 2023 16:10:31 +0000 (18:10 +0200)
committerMartin Quinson <martin.quinson@ens-rennes.fr>
Mon, 23 Oct 2023 16:10:31 +0000 (18:10 +0200)
src/smpi/bindings/smpi_pmpi_request.cpp

index 2fb4d0e..8cf9b41 100644 (file)
@@ -381,7 +381,7 @@ 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,
+  CHECK_ARGS(sendbuf == recvbuf && sendcount > 0 && recvcount > 0, MPI_ERR_BUFFER,
              "%s: Invalid parameters 1 and 6: sendbuf and recvbuf must be disjoint", __func__);
   CHECK_TAG(10, recvtag)
   CHECK_COMM(11)