From f448fd41914f2f6c1dd4820acb05045bbfb5aca3 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 5 Aug 2022 04:23:55 -0400 Subject: [PATCH] ensure liftime of temporary storage --- src/write_dump.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/write_dump.cpp b/src/write_dump.cpp index 2ce28f01e4..98f7981f2e 100644 --- a/src/write_dump.cpp +++ b/src/write_dump.cpp @@ -49,8 +49,7 @@ void WriteDump::command(int narg, char **arg) dumpargs[0] = (char *) "WRITE_DUMP"; // dump id dumpargs[1] = arg[0]; // group dumpargs[2] = arg[1]; // dump style - std::string ntimestep = std::to_string(MAX(update->ntimestep, 1)); - dumpargs[3] = (char *) ntimestep.c_str(); // dump frequency + dumpargs[3] = utils::strdup(std::to_string(MAX(update->ntimestep, 1))); // dump frequency for (int i = 2; i < modindex; ++i) dumpargs[i + 2] = arg[i]; @@ -61,9 +60,7 @@ void WriteDump::command(int narg, char **arg) // set multifile_override for DumpImage so that filename needs no "*" if (strcmp(arg[1], "image") == 0) (dynamic_cast(dump))->multifile_override = 1; - if (strcmp(arg[1], "cfg") == 0) (dynamic_cast(dump))->multifile_override = 1; - if ((update->first_update == 0) && (comm->me == 0)) error->warning(FLERR, "Calling write_dump before a full system init."); @@ -73,5 +70,6 @@ void WriteDump::command(int narg, char **arg) // delete the Dump instance and local storage output->delete_dump(dumpargs[0]); + delete[] dumpargs[3]; delete[] dumpargs; }