Avoid buffer overflow during errors with long filenames

This commit is contained in:
Richard Berger
2018-09-05 21:39:09 -04:00
parent 0b951840f2
commit ba1c5d3191

View File

@ -75,7 +75,7 @@ void Error::universe_all(const char *file, int line, const char *str)
update->whichflag = 0;
char msg[100];
sprintf(msg, "ERROR: %s (%s:%d)\n", str, file, line);
snprintf(msg, 100, "ERROR: %s (%s:%d)\n", str, truncpath(file), line);
throw LAMMPSException(msg);
#else
MPI_Finalize();
@ -100,7 +100,7 @@ void Error::universe_one(const char *file, int line, const char *str)
update->whichflag = 0;
char msg[100];
sprintf(msg, "ERROR: %s (%s:%d)\n", str, file, line);
snprintf(msg, 100, "ERROR: %s (%s:%d)\n", str, truncpath(file), line);
throw LAMMPSAbortException(msg, universe->uworld);
#else
MPI_Abort(universe->uworld,1);
@ -151,7 +151,7 @@ void Error::all(const char *file, int line, const char *str)
update->whichflag = 0;
char msg[100];
sprintf(msg, "ERROR: %s (%s:%d)\n", str, file, line);
snprintf(msg, 100, "ERROR: %s (%s:%d)\n", str, truncpath(file), line);
if (universe->nworlds > 1) {
throw LAMMPSAbortException(msg, universe->uworld);
@ -201,7 +201,7 @@ void Error::one(const char *file, int line, const char *str)
update->whichflag = 0;
char msg[100];
sprintf(msg, "ERROR on proc %d: %s (%s:%d)\n", me, str, file, line);
snprintf(msg, 100, "ERROR on proc %d: %s (%s:%d)\n", me, str, truncpath(file), line);
throw LAMMPSAbortException(msg, world);
#else
MPI_Abort(world,1);