summaryrefslogtreecommitdiff
path: root/sw/source/filter
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2020-10-02 14:43:53 +0100
committerCaolán McNamara <caolanm@redhat.com>2020-10-02 21:18:27 +0200
commit098ca4e0f1e09d10cbd038ffdec75bbc9c6d133d (patch)
treee3b05fc409c9f83e90f85c221ac6ce880f1055ed /sw/source/filter
parentd94aa8bd603bec2027f6eed6ac63d8c1cc40e054 (diff)
crashtesting: an odd number of bytes for RTL_TEXTENCODING_UCS2 encoding
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 <caolanm@redhat.com>
Diffstat (limited to 'sw/source/filter')
-rw-r--r--sw/source/filter/ascii/parasc.cxx5
1 files changed, 3 insertions, 2 deletions
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<sal_Unicode*>(pArr.get());
- pEnd = reinterpret_cast<sal_Unicode*>(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;