Optimized return is valid even after the CharEncConv object is destroyed

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6415 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
anders_k 2013-10-09 00:16:28 +00:00
parent bb9b88b70f
commit 1e55e30ff4
2 changed files with 7 additions and 1 deletions

View file

@ -103,6 +103,7 @@ class CharEncConv {
WORD m_TE, m_FE;
#ifdef _WIN32
bool m_AllowOptimizedReturn; // Can Convert() return Src buffer?
bool m_OptimizedReturn;
#else
iconvdescriptor m_iconvd;
#endif
@ -115,7 +116,10 @@ public:
~CharEncConv() { Close(); }
void Close()
{
free(m_Result);
#ifdef _WIN32
if (!m_OptimizedReturn)
#endif
free(m_Result);
m_Result = 0;
#ifndef _WIN32
m_iconvd.Close();