Index: /issm/trunk/src/c/toolkits/petsc/patches/PetscOptionsDetermineSolverType.cpp
===================================================================
--- /issm/trunk/src/c/toolkits/petsc/patches/PetscOptionsDetermineSolverType.cpp	(revision 5976)
+++ /issm/trunk/src/c/toolkits/petsc/patches/PetscOptionsDetermineSolverType.cpp	(revision 5977)
@@ -41,7 +41,4 @@
 void PetscOptionsDetermineSolverType(int* psolver_type,Parameters* parameters){
 
-	
-	
-
 	/*The list of options is going to be pairs of the type "-option option_value"*/
 	#if _PETSC_VERSION_ == 2
@@ -52,4 +49,5 @@
 	char* first=NULL;
 	char* second=NULL;
+	char* options_string=NULL;
 	size_t len;
 	int ignore_second;
@@ -68,8 +66,6 @@
 		parameters->FindParam(&options_string,PetscRcEnum);
 
-
 		PetscTokenCreate(options_string,' ',&token);
 		for (;;){
-			
 
 			/*Read next tokens*/
@@ -151,7 +147,6 @@
 	#endif
 
-
-
-	/*Assign output: */
+	/*Clean-up and assign output*/
+	xfree((void**)&options_string);
 	*psolver_type=solver_type;
 }
