From 3daae9be19192f54bb7d2c6c8b31bb25bdb8f908 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 24 Jun 2013 18:42:04 +0200 Subject: [PATCH] fix segfault for write_data without local bonds/angles/dihedrals/impropers. --- src/write_data.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/write_data.cpp b/src/write_data.cpp index c92d8fb8de..d6da2b8dec 100644 --- a/src/write_data.cpp +++ b/src/write_data.cpp @@ -390,8 +390,8 @@ void WriteData::bonds() MPI_Allreduce(&sendrow,&maxrow,1,MPI_INT,MPI_MAX,world); int **buf; - if (me == 0) memory->create(buf,maxrow,ncol,"write_data:buf"); - else memory->create(buf,sendrow,ncol,"write_data:buf"); + if (me == 0) memory->create(buf,MAX(1,maxrow),ncol,"write_data:buf"); + else memory->create(buf,MAX(1,sendrow),ncol,"write_data:buf"); // pack my bond data into buf @@ -443,8 +443,8 @@ void WriteData::angles() MPI_Allreduce(&sendrow,&maxrow,1,MPI_INT,MPI_MAX,world); int **buf; - if (me == 0) memory->create(buf,maxrow,ncol,"write_data:buf"); - else memory->create(buf,sendrow,ncol,"write_data:buf"); + if (me == 0) memory->create(buf,MAX(1,maxrow),ncol,"write_data:buf"); + else memory->create(buf,MAX(1,sendrow),ncol,"write_data:buf"); // pack my angle data into buf @@ -514,8 +514,8 @@ void WriteData::dihedrals() MPI_Allreduce(&sendrow,&maxrow,1,MPI_INT,MPI_MAX,world); int **buf; - if (me == 0) memory->create(buf,maxrow,ncol,"write_data:buf"); - else memory->create(buf,sendrow,ncol,"write_data:buf"); + if (me == 0) memory->create(buf,MAX(1,maxrow),ncol,"write_data:buf"); + else memory->create(buf,MAX(1,sendrow),ncol,"write_data:buf"); // pack my dihedral data into buf @@ -585,8 +585,8 @@ void WriteData::impropers() MPI_Allreduce(&sendrow,&maxrow,1,MPI_INT,MPI_MAX,world); int **buf; - if (me == 0) memory->create(buf,maxrow,ncol,"write_data:buf"); - else memory->create(buf,sendrow,ncol,"write_data:buf"); + if (me == 0) memory->create(buf,MAX(1,maxrow),ncol,"write_data:buf"); + else memory->create(buf,MAX(1,sendrow),ncol,"write_data:buf"); // pack my improper data into buf