From 7aeeef6902ee2be4934341072829a6f15a14f3fb Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Thu, 4 Jun 2015 21:00:13 +0100 Subject: Resolves: tdf#91637 avoid -1 string index Change-Id: I006040f4589065141310fe2a89b8d2ba3e54ad2c (cherry picked from commit 4e96b278965875a95f02993590f30ab5859c1fed) --- sw/source/core/fields/expfld.cxx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sw/source/core/fields/expfld.cxx b/sw/source/core/fields/expfld.cxx index b9007ab4e86e..e7da51037144 100644 --- a/sw/source/core/fields/expfld.cxx +++ b/sw/source/core/fields/expfld.cxx @@ -746,8 +746,11 @@ bool SwSeqFieldList::SeekEntry( const _SeqFieldLstElem& rNew, size_t* pP ) const sal_Int32 nNum1 = sNum1.toInt32(); nCmp = nNum2 - nNum1; if( 0 == nCmp ) - nCmp = rCaseColl.compareString( rTmp2.copy( nFndPos2 ), - rTmp1.copy( nFndPos1 )); + { + OUString aTmp1 = nFndPos1 != -1 ? rTmp1.copy(nFndPos1) : OUString(); + OUString aTmp2 = nFndPos2 != -1 ? rTmp2.copy(nFndPos2) : OUString(); + nCmp = rCaseColl.compareString(aTmp2, aTmp1); + } } else nCmp = rColl.compareString( rTmp2, rTmp1 ); -- cgit v1.2.3