From 07ec05d42a45eaba87830ac8a37df6fedeef2e4a Mon Sep 17 00:00:00 2001
From: Christoph Sprunk <sprunkc@informatik.uni-freiburg.de>
Date: Mon, 15 Jul 2013 09:30:49 +0200
Subject: [PATCH] fixing a memory leak in sm_icp when an error occured in an
 icp loop

---
 sm/csm/icp/icp.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/sm/csm/icp/icp.c b/sm/csm/icp/icp.c
index a96838c..4472ea2 100644
--- a/sm/csm/icp/icp.c
+++ b/sm/csm/icp/icp.c
@@ -175,10 +175,11 @@ void sm_icp(struct sm_params*params, struct sm_result*res) {
 		res->iterations = iterations;
 		res->nvalid = nvalid;
 
-		gsl_vector_free(x_new);
-		gsl_vector_free(x_old);
 		gsl_vector_free(best_x);
 	}
+	gsl_vector_free(x_new);
+	gsl_vector_free(x_old);
+
 
 	egsl_pop_named("sm_icp");
 
-- 
GitLab