aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/Document.cxx2
-rw-r--r--win32/ScintillaWin.cxx4
2 files changed, 3 insertions, 3 deletions
diff --git a/src/Document.cxx b/src/Document.cxx
index b8ff5a4f9..da566c7af 100644
--- a/src/Document.cxx
+++ b/src/Document.cxx
@@ -857,7 +857,7 @@ char *Document::TransformLineEnds(int *pLenOut, const char *s, size_t len, int e
char *dest = new char[2 * len + 1];
const char *sptr = s;
char *dptr = dest;
- for (size_t i = 0; i < len; i++) {
+ for (size_t i = 0; (i < len) && (*sptr != '\0'); i++) {
if (*sptr == '\n' || *sptr == '\r') {
if (eolMode == SC_EOL_CR) {
*dptr++ = '\r';
diff --git a/win32/ScintillaWin.cxx b/win32/ScintillaWin.cxx
index a14b8d01b..75957d073 100644
--- a/win32/ScintillaWin.cxx
+++ b/win32/ScintillaWin.cxx
@@ -1567,10 +1567,10 @@ void ScintillaWin::Paste() {
// CF_UNICODETEXT available, but not in Unicode mode
// Convert from Unicode to current Scintilla code page
UINT cpDest = CodePageOfDocument();
- len = ::WideCharToMultiByte(cpDest, 0, uptr, memUSelection.Size() / 2,
+ len = ::WideCharToMultiByte(cpDest, 0, uptr, -1,
NULL, 0, NULL, NULL) - 1; // subtract 0 terminator
putf = new char[len + 1];
- ::WideCharToMultiByte(cpDest, 0, uptr, memUSelection.Size() / 2,
+ ::WideCharToMultiByte(cpDest, 0, uptr, -1,
putf, len + 1, NULL, NULL);
}