diff options
| -rw-r--r-- | src/Document.cxx | 2 | ||||
| -rw-r--r-- | win32/ScintillaWin.cxx | 4 | 
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);  			} | 
