From 7a87e395c4afcc678493cd250cf1c535586723dd Mon Sep 17 00:00:00 2001 From: josh Date: Mon, 8 Dec 2008 23:29:48 +0000 Subject: [PATCH] avoid segfault when num_pixels is not an even multiple of task_size git-svn-id: svn://anubis/gvsu@346 45c1a28c-8058-47b2-ae61-ca45b979098e --- cs677/final/mpi-fractals.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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