Fix passing string literal to non-const 42/4042/1
authorJim Phillips <jim@ks.uiuc.edu>
Sat, 21 Apr 2018 21:36:21 +0000 (16:36 -0500)
committerJim Phillips <jim@ks.uiuc.edu>
Sat, 21 Apr 2018 21:36:21 +0000 (16:36 -0500)
Actual bug as non-const argument was modified.

Change-Id: I3fa33f47050c55cdb39ab95c0c194f6db6e5ba3c

src/FreeEnergyRestrain.C
src/FreeEnergyRestrain.h

index 65f84b0..c0deb0b 100644 (file)
@@ -61,17 +61,13 @@ ARestraint::~ARestraint() {
 }
 
 
-void ARestraint::EarlyExit(char* Str, int AtomID) {
+void ARestraint::EarlyExit(const char* Str, int AtomID) {
 //-----------------------------------------------------------------
 // unrecoverable error
 //-----------------------------------------------------------------
-  char  NumStr[40];
-
   iout << "FreeEnergy: " << std::endl << endi;
-  sprintf(NumStr, "%d", AtomID);
-  strcat(Str, " for AtomID: ");
-  strcat(Str, NumStr);
   iout << "FreeEnergy: " << Str;
+  iout << " for AtomID: " << AtomID;
   iout << std::endl << endi;
   NAMD_die("FreeEnergy: Fatal Error with Fixed or Forcing Restraints");
 }
index 22e40fa..eb87daf 100644 (file)
@@ -92,7 +92,7 @@ public:
 protected:
   double  GetAngle(AVector& A, AVector& B, AVector& C);
   double  GetDihe(AVector& A, AVector& B, AVector& C, AVector& D);
-  void    EarlyExit(char* Str, int AtomID);
+  void    EarlyExit(const char* Str, int AtomID);
 };