sw/source/core/text/porlay.cxx |    9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

New commits:
commit 6e686439291b4047a8c522ebf78d25632d349f62
Author: Caolán McNamara <caol...@redhat.com>
Date:   Thu Nov 16 14:19:16 2017 +0000

    Resolves: tdf#113871 bounds check kashida pos
    
    the inner loop checks the kashida validity so reuse the
    same check outside to avoid index 3 into vector of len 3
    
    Change-Id: I27c30aec1a61ccc8ca6611498d3281eddb4b54eb
    Reviewed-on: https://gerrit.libreoffice.org/44831
    Tested-by: Jenkins <c...@libreoffice.org>
    Reviewed-by: Martin Hosken <martin_hos...@sil.org>

diff --git a/sw/source/core/text/porlay.cxx b/sw/source/core/text/porlay.cxx
index 2d23d2aa9710..f075d2efb93d 100644
--- a/sw/source/core/text/porlay.cxx
+++ b/sw/source/core/text/porlay.cxx
@@ -1731,11 +1731,10 @@ sal_Int32 SwScriptInfo::KashidaJustify( long* 
pKernArray,
     if ( nCntKash < CountKashida() )
     {
         // skip any invalid kashidas
-        while ( ! IsKashidaValid ( nCntKash ) && nCntKash < nCntKashEnd )
+        while (nCntKash < nCntKashEnd && !IsKashidaValid(nCntKash))
             ++nCntKash;
 
-        sal_Int32 nKashidaPos = GetKashida( nCntKash );
-        sal_Int32 nIdx = nKashidaPos;
+        sal_Int32 nIdx = nCntKash < nCntKashEnd && IsKashidaValid(nCntKash) ? 
GetKashida(nCntKash) : nEnd;
         long nKashAdd = nSpaceAdd;
 
         while ( nIdx < nEnd )
@@ -1744,10 +1743,10 @@ sal_Int32 SwScriptInfo::KashidaJustify( long* 
pKernArray,
 
             // next kashida position
             ++nCntKash;
-            while ( ! IsKashidaValid ( nCntKash ) && nCntKash < nCntKashEnd )
+            while (nCntKash < nCntKashEnd && !IsKashidaValid(nCntKash))
                 ++nCntKash;
 
-            nIdx = nCntKash < CountKashida() && IsKashidaValid ( nCntKash ) ? 
GetKashida( nCntKash ) : nEnd;
+            nIdx = nCntKash < nCntKashEnd && IsKashidaValid(nCntKash) ? 
GetKashida(nCntKash) : nEnd;
             if ( nIdx > nEnd )
                 nIdx = nEnd;
 
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to