From 095c710c0e0bbbbcc3e6e29e547cf5cc31aa94c2 Mon Sep 17 00:00:00 2001 From: mfranz Date: Thu, 7 May 2009 10:27:16 +0000 Subject: [PATCH] leak fixes --- src/Autopilot/route_mgr.cxx | 1 + src/Environment/environment_ctrl.cxx | 2 +- src/Environment/fgclouds.cxx | 2 ++ src/Environment/fgclouds.hxx | 2 +- src/FDM/SP/ADA.cxx | 5 ++++- src/FDM/UIUCModel/uiuc_1DdataFileReader.cpp | 2 ++ src/FDM/UIUCModel/uiuc_2DdataFileReader.cpp | 1 + src/FDM/UIUCModel/uiuc_flapdata.cpp | 8 ++++---- src/Instrumentation/KLN89/kln89.cxx | 1 + src/Main/fg_init.cxx | 4 ++-- src/Main/globals.cxx | 1 - src/Sound/voice.cxx | 1 + 12 files changed, 20 insertions(+), 10 deletions(-) diff --git a/src/Autopilot/route_mgr.cxx b/src/Autopilot/route_mgr.cxx index 19676fad9..3b93f0686 100644 --- a/src/Autopilot/route_mgr.cxx +++ b/src/Autopilot/route_mgr.cxx @@ -67,6 +67,7 @@ FGRouteMgr::FGRouteMgr() : FGRouteMgr::~FGRouteMgr() { input->removeChangeListener(listener); + delete listener; delete route; } diff --git a/src/Environment/environment_ctrl.cxx b/src/Environment/environment_ctrl.cxx index cf9c6505f..f54fbf6d3 100644 --- a/src/Environment/environment_ctrl.cxx +++ b/src/Environment/environment_ctrl.cxx @@ -368,10 +368,10 @@ FGMetarEnvironmentCtrl::~FGMetarEnvironmentCtrl () { #if defined(ENABLE_THREADS) thread_stop(); + delete thread; #endif // ENABLE_THREADS delete env; - env = NULL; } diff --git a/src/Environment/fgclouds.cxx b/src/Environment/fgclouds.cxx index 905ddfc4a..5d7df98b0 100644 --- a/src/Environment/fgclouds.cxx +++ b/src/Environment/fgclouds.cxx @@ -58,12 +58,14 @@ FGClouds::FGClouds(FGEnvironmentCtrl * controller) : { update_event = 0; } + FGClouds::~FGClouds() { } int FGClouds::get_update_event(void) const { return update_event; } + void FGClouds::set_update_event(int count) { update_event = count; buildCloudLayers(); diff --git a/src/Environment/fgclouds.hxx b/src/Environment/fgclouds.hxx index d99189333..6cdb5df16 100644 --- a/src/Environment/fgclouds.hxx +++ b/src/Environment/fgclouds.hxx @@ -64,7 +64,7 @@ void buildCloud(SGPropertyNode *cloud_def_root, SGPropertyNode *box_def_root, co bool clouds_3d_enabled; string last_scenario; string scenario; - SGPropertyNode *last_env_config, *last_env_clouds; + SGPropertyNode_ptr last_env_config, last_env_clouds; public: FGClouds(FGEnvironmentCtrl * controller); diff --git a/src/FDM/SP/ADA.cxx b/src/FDM/SP/ADA.cxx index b93fbc711..9aaa468fa 100644 --- a/src/FDM/SP/ADA.cxx +++ b/src/FDM/SP/ADA.cxx @@ -159,12 +159,15 @@ static struct { #define anzg sixdof_to_visuals.anzg -FGADA::FGADA( double dt ) { +FGADA::FGADA( double dt ) : + fdmsock(0) +{ // set_delta_t( dt ); } FGADA::~FGADA() { + delete fdmsock; } diff --git a/src/FDM/UIUCModel/uiuc_1DdataFileReader.cpp b/src/FDM/UIUCModel/uiuc_1DdataFileReader.cpp index 03b7ba2ad..7b91c9a2e 100644 --- a/src/FDM/UIUCModel/uiuc_1DdataFileReader.cpp +++ b/src/FDM/UIUCModel/uiuc_1DdataFileReader.cpp @@ -114,6 +114,7 @@ uiuc_1DdataFileReader( string file_name, //}; data = 1; } + delete matrix; return data; } @@ -153,6 +154,7 @@ uiuc_1DdataFileReader( string file_name, counter++; data = 1; } + delete matrix; return data; } diff --git a/src/FDM/UIUCModel/uiuc_2DdataFileReader.cpp b/src/FDM/UIUCModel/uiuc_2DdataFileReader.cpp index 0bb5cccdb..6faabfdce 100644 --- a/src/FDM/UIUCModel/uiuc_2DdataFileReader.cpp +++ b/src/FDM/UIUCModel/uiuc_2DdataFileReader.cpp @@ -133,6 +133,7 @@ void uiuc_2DdataFileReader( string file_name, counter_x++; } } + delete matrix; return; } diff --git a/src/FDM/UIUCModel/uiuc_flapdata.cpp b/src/FDM/UIUCModel/uiuc_flapdata.cpp index 1318b6b6d..7c64d6971 100644 --- a/src/FDM/UIUCModel/uiuc_flapdata.cpp +++ b/src/FDM/UIUCModel/uiuc_flapdata.cpp @@ -115,10 +115,10 @@ FlapData::~FlapData(){ delete[] thrustTable; delete[] momentTable; delete[] inertiaTable; - delete alphaArray; - delete speedArray; - delete freqArray; - delete phiArray; + delete[] alphaArray; + delete[] speedArray; + delete[] freqArray; + delete[] phiArray; } //An initialization function that does the same thing diff --git a/src/Instrumentation/KLN89/kln89.cxx b/src/Instrumentation/KLN89/kln89.cxx index f4308bbb3..dd8a6c62d 100644 --- a/src/Instrumentation/KLN89/kln89.cxx +++ b/src/Instrumentation/KLN89/kln89.cxx @@ -178,6 +178,7 @@ KLN89::~KLN89() { } delete _dir_page; + delete _nrst_page; for(unsigned int i=0; i<_maxFlightPlans; ++i) { ClearFlightPlan(i); diff --git a/src/Main/fg_init.cxx b/src/Main/fg_init.cxx index 164446cb4..607684dd6 100644 --- a/src/Main/fg_init.cxx +++ b/src/Main/fg_init.cxx @@ -994,8 +994,8 @@ fgInitNav () SG_LOG(SG_GENERAL, SG_INFO, " Fixes"); SGPath p_fix( globals->get_fg_root() ); p_fix.append( "Navaids/fix.dat" ); - FGFixList *fixlist = new FGFixList; - fixlist->init( p_fix ); + FGFixList fixlist; + fixlist.init( p_fix ); // adds fixes to the DB in positioned.cxx SG_LOG(SG_GENERAL, SG_INFO, " Airways"); SGPath p_awy( globals->get_fg_root() ); diff --git a/src/Main/globals.cxx b/src/Main/globals.cxx index d4cbdd5a4..0b550b46c 100644 --- a/src/Main/globals.cxx +++ b/src/Main/globals.cxx @@ -48,7 +48,6 @@ #include #include #include -#include #include "globals.hxx" #include "renderer.hxx" diff --git a/src/Sound/voice.cxx b/src/Sound/voice.cxx index cdd90d330..04e9a3deb 100644 --- a/src/Sound/voice.cxx +++ b/src/Sound/voice.cxx @@ -52,6 +52,7 @@ FGVoiceMgr::~FGVoiceMgr() return; _thread->cancel(); _thread->join(); + delete _thread; #endif } -- 2.39.5