diff --git a/cs677/final/mpi-fractals.cc b/cs677/final/mpi-fractals.cc index e62af76..d560166 100644 --- a/cs677/final/mpi-fractals.cc +++ b/cs677/final/mpi-fractals.cc @@ -341,7 +341,11 @@ void draw(int rank, int world_size, int nprocs, int width, int height, MPI_Send(&done_val, 1, MPI_INT, mpi_status.MPI_SOURCE, 0, MPI_COMM_WORLD); } - memcpy(pixels + taskVals[0], taskVals + 1, task_size * sizeof(int)); + int num_to_copy = task_size; + if (taskVals[0] + num_to_copy > num_pixels) + num_to_copy = num_pixels - taskVals[0]; + memcpy(pixels + taskVals[0], taskVals + 1, + num_to_copy * sizeof(int)); } } else