From: Hamed Gorjiara <hgorjiar@uci.edu>
Date: Wed, 31 Oct 2018 18:58:32 +0000 (-0700)
Subject: memory bug fix
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=60e8dfef7bdbeb41eab0968ac10dcbb8b5b10b31;p=satune.git

memory bug fix
---

diff --git a/src/Tuner/staticautotuner.cc b/src/Tuner/staticautotuner.cc
index 6fa385b..1d42932 100644
--- a/src/Tuner/staticautotuner.cc
+++ b/src/Tuner/staticautotuner.cc
@@ -13,26 +13,27 @@ StaticAutoTuner::StaticAutoTuner(uint _budget) : AutoTuner(_budget) {
 StaticSearchTuner *StaticAutoTuner::mutateTuner(StaticSearchTuner *oldTuner) {
 	StaticSearchTuner *newTuner = oldTuner->copyUsed();
 	result = newTuner->nextStaticTuner();
-	return result == EXIT_FAILURE ? newTuner : NULL;
+	if( result == EXIT_FAILURE) {
+		return newTuner;
+	}else {
+		delete newTuner;
+		return NULL;
+	}
 }
 
 void StaticAutoTuner::tune() {
-	StaticSearchTuner *bestTuner = NULL;
-	double bestScore = DBL_MAX;
-
 	StaticSearchTuner *oldTuner = new StaticSearchTuner();
-	double base_temperature = evaluateAll(oldTuner);
-	double oldScore = base_temperature;
-
+	evaluateAll(oldTuner);
 	while (true) {
 		StaticSearchTuner *newTuner = mutateTuner(oldTuner);
-		if (newTuner == NULL)
-			return;
+		if (newTuner == NULL){
+			break;
+		}
 		double newScore = evaluateAll(newTuner);
 		newTuner->printUsed();
 		model_print("Received score %f\n", newScore);
 		delete oldTuner;
-		oldScore = newScore;
 		oldTuner = newTuner;
 	}
+	delete oldTuner;
 }