[PATCH] promote type size of intermediate values
Rob Latham
robl at mcs.anl.gov
Fri Oct 2 13:45:36 CDT 2015
Ignacio Laguna applied static analysis to gather.c and found this
location where the product of two large ints could overflow before being
assigned to a 64 bit value.
---
src/mpi/coll/gather.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/mpi/coll/gather.c b/src/mpi/coll/gather.c
index e6387d3b..5cd00f33 100644
--- a/src/mpi/coll/gather.c
+++ b/src/mpi/coll/gather.c
@@ -220,8 +220,8 @@ int MPIR_Gather_intra(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
* should cover the case where the root is
* rank 0. */
mpi_errno = MPIC_Recv(((char *)recvbuf +
- (((rank + mask) % comm_size)*recvcount*extent)),
- recvblks * recvcount, recvtype, src,
+ (((rank + mask) % comm_size)*(MPI_Aint)recvcount*extent)),
+ (MPI_Aint)recvblks * recvcount, recvtype, src,
MPIR_GATHER_TAG, comm_ptr,
&status, errflag);
if (mpi_errno) {
--
2.1.4
--------------080606070903000508060601
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
discuss mailing list discuss at mpich.org
To manage subscription options or unsubscribe:
https://lists.mpich.org/mailman/listinfo/discuss
--------------080606070903000508060601--
More information about the discuss
mailing list