From d488fdfabd66413c440dcee0ab646f79c31a66d4 Mon Sep 17 00:00:00 2001 From: Oliver Sander <sander@igpm.rwth-aachen.de> Date: Thu, 11 Feb 2010 21:48:18 +0000 Subject: [PATCH] fix memory leak by using an auto_ptr for the inner solver [[Imported from SVN: r5548]] --- src/targetspacertrsolver.cc | 10 +++++----- src/targetspacertrsolver.hh | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/targetspacertrsolver.cc b/src/targetspacertrsolver.cc index f44c2157..fdbd646d 100644 --- a/src/targetspacertrsolver.cc +++ b/src/targetspacertrsolver.cc @@ -33,11 +33,11 @@ setup(const AverageDistanceAssembler<TargetSpace>* assembler, EnergyNorm<MatrixType, CorrectionType>* energyNorm = new EnergyNorm<MatrixType, CorrectionType>(*innerSolverStep); - innerSolver_ = new ::LoopSolver<CorrectionType>(innerSolverStep, - innerIterations, - innerTolerance, - energyNorm, - Solver::QUIET); + innerSolver_ = std::auto_ptr< ::LoopSolver<CorrectionType> >(new ::LoopSolver<CorrectionType>(innerSolverStep, + innerIterations, + innerTolerance, + energyNorm, + Solver::QUIET)); // ////////////////////////////////////////////////////////// // Create obstacles diff --git a/src/targetspacertrsolver.hh b/src/targetspacertrsolver.hh index 19a44f26..87219999 100644 --- a/src/targetspacertrsolver.hh +++ b/src/targetspacertrsolver.hh @@ -71,7 +71,7 @@ protected: const AverageDistanceAssembler<TargetSpace>* assembler_; /** \brief The solver for the quadratic inner problems */ - ::LoopSolver<CorrectionType>* innerSolver_; + std::auto_ptr< ::LoopSolver<CorrectionType> > innerSolver_; // /** \brief Dummy field for the trustregiongsstep */ // Dune::BitSetVector<blocksize> dummyObstacle_; -- GitLab