Index: /issm/trunk/src/c/parallel/control_core.cpp
===================================================================
--- /issm/trunk/src/c/parallel/control_core.cpp	(revision 1959)
+++ /issm/trunk/src/c/parallel/control_core.cpp	(revision 1960)
@@ -145,3 +145,17 @@
 	result=new Result(results->Size()+1,0,1,"J",J,nsteps);
 	results->AddObject(result);
+
+	/*Free ressources: */
+	xfree((void**)&control_type);
+	xfree((void**)&fit);
+	xfree((void**)&optscal);
+	xfree((void**)&maxiter);
+	PetscSynchronizedPrintf(MPI_COMM_WORLD,"ok2\n");
+	PetscSynchronizedFlush(MPI_COMM_WORLD);
+	VecFree(&new_grad_g); //do not VecFree grad_g and grad_g_old, they point to new_grad_g
+	xfree((void**)&grad_g_double);
+	xfree((void**)&param_g);
+	VecFree(&u_g);
+	xfree((void**)&J);
+
 }
