diff options
author | Piotr Dziwinski <piotrdz@gmail.com> | 2013-10-12 18:48:28 +0200 |
---|---|---|
committer | Piotr Dziwinski <piotrdz@gmail.com> | 2013-10-12 18:50:30 +0200 |
commit | 5d0d9b5aa5cf19aff9edb42701d38b5096fce3aa (patch) | |
tree | c0259ff8a7fce4500096acda26cae52fd0beea74 /src/script/script.cpp | |
parent | 141f73866e97d450486efadd429d8d4607949415 (diff) | |
download | colobot-5d0d9b5aa5cf19aff9edb42701d38b5096fce3aa.tar.gz colobot-5d0d9b5aa5cf19aff9edb42701d38b5096fce3aa.tar.bz2 colobot-5d0d9b5aa5cf19aff9edb42701d38b5096fce3aa.zip |
Fixed some CBot-related memory leaks
* fixed leaks in CScript::CheckToken()
* fixed leaks in CInterface
* commented out unused function in robotmain.cpp
Diffstat (limited to 'src/script/script.cpp')
-rw-r--r-- | src/script/script.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/script/script.cpp b/src/script/script.cpp index 8736f01..ca6ce25 100644 --- a/src/script/script.cpp +++ b/src/script/script.cpp @@ -3689,6 +3689,7 @@ bool CScript::IsEmpty() bool CScript::CheckToken() { CBotToken* bt; + CBotToken* allBt; CBotString bs; const char* token; int error, cursor1, cursor2, i; @@ -3706,7 +3707,8 @@ bool CScript::CheckToken() used[i] = 0; // token not used } - bt = CBotToken::CompileTokens(m_script, error); + allBt = CBotToken::CompileTokens(m_script, error); + bt = allBt; while ( bt != 0 ) { bs = bt->GetString(); @@ -3727,7 +3729,7 @@ bool CScript::CheckToken() m_cursor1 = cursor1; m_cursor2 = cursor2; strcpy(m_title, "<erreur>"); - CBotToken::Delete(bt); + CBotToken::Delete(allBt); return false; } @@ -3742,12 +3744,12 @@ bool CScript::CheckToken() strcpy(m_token, m_main->GetObligatoryToken(i)); m_error = ERR_OBLIGATORYTOKEN; strcpy(m_title, "<erreur>"); - CBotToken::Delete(bt); + CBotToken::Delete(allBt); return false; } } - CBotToken::Delete(bt); + CBotToken::Delete(allBt); return true; } |