diff --git a/contrib/src/stc/stc.cpp b/contrib/src/stc/stc.cpp index d3e43c21a7..efedc9d763 100644 --- a/contrib/src/stc/stc.cpp +++ b/contrib/src/stc/stc.cpp @@ -2547,8 +2547,9 @@ bool wxStyledTextCtrl::LoadFile(const wxString& filename) if (len > 0) { #if wxUSE_UNICODE - wxMemoryBuffer buffer(len); + wxMemoryBuffer buffer(len+1); success = (file.Read(buffer.GetData(), len) == len); + ((char*)buffer.GetData())[len] = 0; contents = wxString(buffer, *wxConvCurrent); #else wxString buffer; diff --git a/contrib/src/stc/stc.cpp.in b/contrib/src/stc/stc.cpp.in index 7459ffa401..473e08d38e 100644 --- a/contrib/src/stc/stc.cpp.in +++ b/contrib/src/stc/stc.cpp.in @@ -356,8 +356,9 @@ bool wxStyledTextCtrl::LoadFile(const wxString& filename) if (len > 0) { #if wxUSE_UNICODE - wxMemoryBuffer buffer(len); + wxMemoryBuffer buffer(len+1); success = (file.Read(buffer.GetData(), len) == len); + ((char*)buffer.GetData())[len] = 0; contents = wxString(buffer, *wxConvCurrent); #else wxString buffer; diff --git a/src/stc/stc.cpp b/src/stc/stc.cpp index d3e43c21a7..efedc9d763 100644 --- a/src/stc/stc.cpp +++ b/src/stc/stc.cpp @@ -2547,8 +2547,9 @@ bool wxStyledTextCtrl::LoadFile(const wxString& filename) if (len > 0) { #if wxUSE_UNICODE - wxMemoryBuffer buffer(len); + wxMemoryBuffer buffer(len+1); success = (file.Read(buffer.GetData(), len) == len); + ((char*)buffer.GetData())[len] = 0; contents = wxString(buffer, *wxConvCurrent); #else wxString buffer; diff --git a/src/stc/stc.cpp.in b/src/stc/stc.cpp.in index 7459ffa401..473e08d38e 100644 --- a/src/stc/stc.cpp.in +++ b/src/stc/stc.cpp.in @@ -356,8 +356,9 @@ bool wxStyledTextCtrl::LoadFile(const wxString& filename) if (len > 0) { #if wxUSE_UNICODE - wxMemoryBuffer buffer(len); + wxMemoryBuffer buffer(len+1); success = (file.Read(buffer.GetData(), len) == len); + ((char*)buffer.GetData())[len] = 0; contents = wxString(buffer, *wxConvCurrent); #else wxString buffer;