Skip to content

Commit

Permalink
Merge pull request #46 from MarcelHB/mbstring_fix
Browse files Browse the repository at this point in the history
String: extends buffer in `MBCStringFromString'
  • Loading branch information
lynxlynxlynx committed May 2, 2016
2 parents 4fff935 + b340286 commit 9bbeebf
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions gemrb/core/System/String.cpp
Expand Up @@ -109,10 +109,12 @@ String* StringFromCString(const char* string)

char* MBCStringFromString(const String& string)
{
char* cStr = (char*)malloc(string.length()+1);
size_t allocatedBytes = string.length() * sizeof(String::value_type);
char *cStr = (char*)malloc(allocatedBytes);

// FIXME: depends on locale setting
// FIXME: currently assumes a character-character mapping (Unicode -> ASCII)
size_t newlen = wcstombs(cStr, string.c_str(), string.length());
size_t newlen = wcstombs(cStr, string.c_str(), allocatedBytes);
if (newlen == static_cast<size_t>(-1)) {
// invalid multibyte sequence
free(cStr);
Expand Down

0 comments on commit 9bbeebf

Please sign in to comment.