Ensure the buffer is NULL-terminated before converting it.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26297 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -2547,8 +2547,9 @@ bool wxStyledTextCtrl::LoadFile(const wxString& filename)
|
|||||||
if (len > 0)
|
if (len > 0)
|
||||||
{
|
{
|
||||||
#if wxUSE_UNICODE
|
#if wxUSE_UNICODE
|
||||||
wxMemoryBuffer buffer(len);
|
wxMemoryBuffer buffer(len+1);
|
||||||
success = (file.Read(buffer.GetData(), len) == len);
|
success = (file.Read(buffer.GetData(), len) == len);
|
||||||
|
((char*)buffer.GetData())[len] = 0;
|
||||||
contents = wxString(buffer, *wxConvCurrent);
|
contents = wxString(buffer, *wxConvCurrent);
|
||||||
#else
|
#else
|
||||||
wxString buffer;
|
wxString buffer;
|
||||||
|
@@ -356,8 +356,9 @@ bool wxStyledTextCtrl::LoadFile(const wxString& filename)
|
|||||||
if (len > 0)
|
if (len > 0)
|
||||||
{
|
{
|
||||||
#if wxUSE_UNICODE
|
#if wxUSE_UNICODE
|
||||||
wxMemoryBuffer buffer(len);
|
wxMemoryBuffer buffer(len+1);
|
||||||
success = (file.Read(buffer.GetData(), len) == len);
|
success = (file.Read(buffer.GetData(), len) == len);
|
||||||
|
((char*)buffer.GetData())[len] = 0;
|
||||||
contents = wxString(buffer, *wxConvCurrent);
|
contents = wxString(buffer, *wxConvCurrent);
|
||||||
#else
|
#else
|
||||||
wxString buffer;
|
wxString buffer;
|
||||||
|
@@ -2547,8 +2547,9 @@ bool wxStyledTextCtrl::LoadFile(const wxString& filename)
|
|||||||
if (len > 0)
|
if (len > 0)
|
||||||
{
|
{
|
||||||
#if wxUSE_UNICODE
|
#if wxUSE_UNICODE
|
||||||
wxMemoryBuffer buffer(len);
|
wxMemoryBuffer buffer(len+1);
|
||||||
success = (file.Read(buffer.GetData(), len) == len);
|
success = (file.Read(buffer.GetData(), len) == len);
|
||||||
|
((char*)buffer.GetData())[len] = 0;
|
||||||
contents = wxString(buffer, *wxConvCurrent);
|
contents = wxString(buffer, *wxConvCurrent);
|
||||||
#else
|
#else
|
||||||
wxString buffer;
|
wxString buffer;
|
||||||
|
@@ -356,8 +356,9 @@ bool wxStyledTextCtrl::LoadFile(const wxString& filename)
|
|||||||
if (len > 0)
|
if (len > 0)
|
||||||
{
|
{
|
||||||
#if wxUSE_UNICODE
|
#if wxUSE_UNICODE
|
||||||
wxMemoryBuffer buffer(len);
|
wxMemoryBuffer buffer(len+1);
|
||||||
success = (file.Read(buffer.GetData(), len) == len);
|
success = (file.Read(buffer.GetData(), len) == len);
|
||||||
|
((char*)buffer.GetData())[len] = 0;
|
||||||
contents = wxString(buffer, *wxConvCurrent);
|
contents = wxString(buffer, *wxConvCurrent);
|
||||||
#else
|
#else
|
||||||
wxString buffer;
|
wxString buffer;
|
||||||
|
Reference in New Issue
Block a user