diff --git a/ompi/mpi/c/win_create.c b/ompi/mpi/c/win_create.c index 08966a7cbd..e33c2bc0f7 100644 --- a/ompi/mpi/c/win_create.c +++ b/ompi/mpi/c/win_create.c @@ -55,6 +55,8 @@ int MPI_Win_create(void *base, MPI_Aint size, int disp_unit, } else if (NULL == win) { return OMPI_ERRHANDLER_INVOKE(comm, MPI_ERR_WIN, FUNC_NAME); + } else if ( (size < 0) || (disp_unit <= 0) ) { + return OMPI_ERRHANDLER_INVOKE(comm, MPI_ERR_WIN, FUNC_NAME); } }