aboutsummaryrefslogtreecommitdiff
path: root/util.cpp
diff options
context:
space:
mode:
authors_nakamoto <s_nakamoto@1a98c847-1fd6-4fd8-948a-caf3550aa51b>2010-02-28 15:00:32 +0000
committers_nakamoto <s_nakamoto@1a98c847-1fd6-4fd8-948a-caf3550aa51b>2010-02-28 15:00:32 +0000
commitd7d80a74d58152453cfb0c71a08f6b424d2493c9 (patch)
tree1c69128fbaf46487b4cb554fe941f243d9ff32e6 /util.cpp
parent6557910ccf36e098b1a0de4841be7c04c4ffd58a (diff)
fix unsafe string handling in wxGetTranslation
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@73 1a98c847-1fd6-4fd8-948a-caf3550aa51b
Diffstat (limited to 'util.cpp')
-rw-r--r--util.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/util.cpp b/util.cpp
index d90cdc48f9..09de89b10f 100644
--- a/util.cpp
+++ b/util.cpp
@@ -445,17 +445,17 @@ const char* wxGetTranslation(const char* pszEnglish)
return (*mi).second;
// wxWidgets translation
- const char* pszTranslated = wxGetTranslation(wxString(pszEnglish, wxConvUTF8)).utf8_str();
+ wxString strTranslated = wxGetTranslation(wxString(pszEnglish, wxConvUTF8));
// We don't cache unknown strings because caller might be passing in a
// dynamic string and we would keep allocating memory for each variation.
- if (strcmp(pszEnglish, pszTranslated) == 0)
+ if (strcmp(pszEnglish, strTranslated.utf8_str()) == 0)
return pszEnglish;
// Add to cache, memory doesn't need to be freed. We only cache because
// we must pass back a pointer to permanently allocated memory.
- char* pszCached = new char[strlen(pszTranslated)+1];
- strcpy(pszCached, pszTranslated);
+ char* pszCached = new char[strlen(strTranslated.utf8_str())+1];
+ strcpy(pszCached, strTranslated.utf8_str());
mapCache[pszEnglish] = pszCached;
return pszCached;
}