From 5d0d9b5aa5cf19aff9edb42701d38b5096fce3aa Mon Sep 17 00:00:00 2001 From: Piotr Dziwinski Date: Sat, 12 Oct 2013 18:48:28 +0200 Subject: Fixed some CBot-related memory leaks * fixed leaks in CScript::CheckToken() * fixed leaks in CInterface * commented out unused function in robotmain.cpp --- src/script/script.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/script/script.cpp') 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, ""); - 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, ""); - CBotToken::Delete(bt); + CBotToken::Delete(allBt); return false; } } - CBotToken::Delete(bt); + CBotToken::Delete(allBt); return true; } -- cgit v1.2.3-1-g7c22