From 60e8dfef7bdbeb41eab0968ac10dcbb8b5b10b31 Mon Sep 17 00:00:00 2001 From: Hamed Gorjiara Date: Wed, 31 Oct 2018 11:58:32 -0700 Subject: [PATCH] memory bug fix --- src/Tuner/staticautotuner.cc | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) 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; } -- 2.34.1