| Index: core/src/fxcrt/fx_basic_wstring.cpp | 
| diff --git a/core/src/fxcrt/fx_basic_wstring.cpp b/core/src/fxcrt/fx_basic_wstring.cpp | 
| index 7ea7e8e11244477841d80ebe7c93d292bda35d78..220ffbd57dad029884997333412f4085a04bf959 100644 | 
| --- a/core/src/fxcrt/fx_basic_wstring.cpp | 
| +++ b/core/src/fxcrt/fx_basic_wstring.cpp | 
| @@ -287,17 +287,19 @@ CFX_ByteString CFX_WideString::UTF8Encode() const { | 
| return FX_UTF8Encode(*this); | 
| } | 
| CFX_ByteString CFX_WideString::UTF16LE_Encode() const { | 
| -  CFX_ByteString result; | 
| -  if (!m_pData) { | 
| -    return result; | 
| +  if (m_pData == NULL) { | 
| +    return CFX_ByteString(FX_BSTRC("\0\0")); | 
| } | 
| int len = m_pData->m_nDataLength; | 
| -  FX_CHAR* buffer = result.GetBuffer(len * 2); | 
| -  for (int i = 0; i < len; ++i) { | 
| +  CFX_ByteString result; | 
| +  FX_CHAR* buffer = result.GetBuffer(len * 2 + 2); | 
| +  for (int i = 0; i < len; i++) { | 
| buffer[i * 2] = m_pData->m_String[i] & 0xff; | 
| buffer[i * 2 + 1] = m_pData->m_String[i] >> 8; | 
| } | 
| -  result.ReleaseBuffer(len * 2); | 
| +  buffer[len * 2] = 0; | 
| +  buffer[len * 2 + 1] = 0; | 
| +  result.ReleaseBuffer(len * 2 + 2); | 
| return result; | 
| } | 
| void CFX_WideString::ConvertFrom(const CFX_ByteString& str, | 
|  |