From 098ca4e0f1e09d10cbd038ffdec75bbc9c6d133d Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Fri, 2 Oct 2020 14:43:53 +0100 Subject: crashtesting: an odd number of bytes for RTL_TEXTENCODING_UCS2 encoding MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit seen with id:000316,src:000190+000204,op:splice,rep:32.doc Change-Id: Ia4eb13ed617828f0d35bed26651a7b9e9a4b6056 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103860 Tested-by: Jenkins Reviewed-by: Caolán McNamara --- sw/source/filter/ascii/parasc.cxx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'sw/source/filter') diff --git a/sw/source/filter/ascii/parasc.cxx b/sw/source/filter/ascii/parasc.cxx index a2d7bbe30508..73536d36213e 100644 --- a/sw/source/filter/ascii/parasc.cxx +++ b/sw/source/filter/ascii/parasc.cxx @@ -348,12 +348,13 @@ ErrCode SwASCIIParser::ReadChars() else { pStt = pLastStt = reinterpret_cast(pArr.get()); - pEnd = reinterpret_cast(pArr.get() + lGCount); + auto nChars = lGCount / 2; + pEnd = pStt + nChars; if( bSwapUnicode ) { char* pF = pArr.get(), *pN = pArr.get() + 1; - for( sal_uLong n = 0; n < lGCount; n += 2, pF += 2, pN += 2 ) + for( sal_uLong n = 0; n < nChars; ++n, pF += 2, pN += 2 ) { char c = *pF; *pF = *pN; -- cgit