From 709013be5ab1c2f0b731c318e108bc226155285f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 19 Oct 2018 16:48:37 -0400 Subject: [PATCH] harden code against buffer overflows --- src/lammps.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/lammps.cpp b/src/lammps.cpp index c6d8b7c967..8273016e8a 100644 --- a/src/lammps.cpp +++ b/src/lammps.cpp @@ -604,14 +604,15 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator) if (restart2data || restart2dump) { char cmd[256]; - snprintf(cmd,256,"read_restart %s\n",restartfile); + snprintf(cmd,248,"read_restart %s\n",restartfile); if (restartremap) strcat(cmd," remap\n"); input->one(cmd); - if (restart2data) snprintf(cmd,256,"write_data"); - else snprintf(cmd,256,"write_dump"); + if (restart2data) strcpy(cmd,"write_data"); + else strcpy(cmd,"write_dump"); for (iarg = wfirst; iarg < wlast; iarg++) - sprintf(&cmd[strlen(cmd)]," %s",arg[iarg]); + snprintf(&cmd[strlen(cmd)],246-strlen(cmd)," %s",arg[iarg]); if (restart2data) strcat(cmd," noinit\n"); + else strcat(cmd,"\n"); input->one(cmd); error->done(0); }