diff --git a/testCommandLineArguments.cxx b/testCommandLineArguments.cxx
index 9eb43e29969ad12aec61ff29b24bf44d6a7c7ba1..40387ffb61b16f4ca08bfae70d5102f7c4c17d51 100644
--- a/testCommandLineArguments.cxx
+++ b/testCommandLineArguments.cxx
@@ -89,7 +89,7 @@ int main(int argc, char* argv[])
   bool valid_bools[] = { true, true, false };
 
   kwsys_stl::vector<char*> strings_argument;
-  char* valid_strings[] = { "andy", "bill", "brad", "ken" };
+  const char* valid_strings[] = { "andy", "bill", "brad", "ken" };
 
   kwsys_stl::vector<kwsys_stl::string> stl_strings_argument;
   kwsys_stl::string valid_stl_strings[] = { "ken", "brad", "bill", "andy" };
@@ -176,5 +176,11 @@ int main(int argc, char* argv[])
   kwsys_ios::cout << "bool_arg1 variable was set to: " << bool_arg1 << kwsys_ios::endl;
   kwsys_ios::cout << "bool_arg2 variable was set to: " << bool_arg2 << kwsys_ios::endl;
   kwsys_ios::cout << kwsys_ios::endl;
+
+  for ( cc = 0; cc < strings_argument.size(); ++ cc )
+    {
+    delete [] strings_argument[cc];
+    strings_argument[cc] = 0;
+    }
   return res;
 }
diff --git a/testCommandLineArguments1.cxx b/testCommandLineArguments1.cxx
index f443ccdb3c5a01f74e7d6d8d47d4a69b38da491c..77836ec5604a13e037bc3d04aca0e5d0a735bdc8 100644
--- a/testCommandLineArguments1.cxx
+++ b/testCommandLineArguments1.cxx
@@ -63,12 +63,16 @@ int main(int argc, char* argv[])
   kwsys_ios::cout << "Value of N: " << n << kwsys_ios::endl;
   kwsys_ios::cout << "Value of M: " << m << kwsys_ios::endl;
   kwsys_ios::cout << "Value of P: " << p.c_str() << kwsys_ios::endl;
+  if ( m )
+    {
+    delete [] m;
+    }
 
   char** newArgv = 0;
   int newArgc = 0;
   arg.GetUnusedArguments(&newArgc, &newArgv);
   int cc;
-  char* valid_unused_args[9] = {
+  const char* valid_unused_args[9] = {
     0, "--ignored", "--second-ignored", "third-ignored",
     "some", "junk", "at", "the", "end"
   };