From c4ac5773cb0ae0a46742cab6f9730472158ede26 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Wed, 10 May 2017 19:44:00 -0400 Subject: [PATCH] Fix segmentation fault in dump vtk --- src/USER-VTK/dump_vtk.cpp | 7 +++++++ src/dump_custom.cpp | 12 ++++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/USER-VTK/dump_vtk.cpp b/src/USER-VTK/dump_vtk.cpp index 4a0c1618a6..78be5668cf 100644 --- a/src/USER-VTK/dump_vtk.cpp +++ b/src/USER-VTK/dump_vtk.cpp @@ -167,6 +167,13 @@ DumpVTK::DumpVTK(LAMMPS *lmp, int narg, char **arg) : header_choice = NULL; write_choice = NULL; boxcorners = NULL; + + // unsupported feature by dump vtk + delete [] vformat; + vformat = NULL; + + delete [] format_column_user; + format_column_user = NULL; } /* ---------------------------------------------------------------------- */ diff --git a/src/dump_custom.cpp b/src/dump_custom.cpp index 44842619fe..9df0264e55 100644 --- a/src/dump_custom.cpp +++ b/src/dump_custom.cpp @@ -244,11 +244,15 @@ DumpCustom::~DumpCustom() for (int i = 1; i <= ntypes; i++) delete [] typenames[i]; delete [] typenames; - for (int i = 0; i < size_one; i++) delete [] vformat[i]; - delete [] vformat; + if(vformat) { + for (int i = 0; i < size_one; i++) delete [] vformat[i]; + delete [] vformat; + } - for (int i = 0; i < size_one; i++) delete [] format_column_user[i]; - delete [] format_column_user; + if(format_column_user) { + for (int i = 0; i < size_one; i++) delete [] format_column_user[i]; + delete [] format_column_user; + } delete [] columns; }