Index: /issm/trunk/src/c/io/ParsePetscOptions.cpp
===================================================================
--- /issm/trunk/src/c/io/ParsePetscOptions.cpp	(revision 6027)
+++ /issm/trunk/src/c/io/ParsePetscOptions.cpp	(revision 6028)
@@ -81,6 +81,6 @@
 					strcat(catstring,newstring);
 					strings[numanalyses-1]=catstring;
+					xfree((void**)&newstring);
 					xfree((void**)&string);
-					xfree((void**)&newstring);
 				}
 			}
@@ -111,5 +111,9 @@
 	parameters->AddObject(new DoubleVecParam(PetscOptionsAnalysesEnum,analyses,numanalyses));
 
+	/*Clean up and return*/
+	for(i=0;i<numanalyses;i++) xfree((void**)&strings[i]);
+	xfree((void**)&strings);
+	xfree((void**)&analyses);
+	return;
 }
 #endif
-
