Author: chengjh Date: Wed Jun 13 03:22:39 2012 New Revision: 1349625 URL: http://svn.apache.org/viewvc?rev=1349625&view=rev Log: Fix issue #i119955: Crash when inserting sample file to section
* sw/source/core/docnode/ndcopy.cxx overflow Patch by: [email protected] Suggested by: [email protected] Found by: Yan Ji <[email protected]> Review by: zhengfan <[email protected]> Modified: incubator/ooo/trunk/main/sw/source/core/docnode/ndcopy.cxx Modified: incubator/ooo/trunk/main/sw/source/core/docnode/ndcopy.cxx URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/sw/source/core/docnode/ndcopy.cxx?rev=1349625&r1=1349624&r2=1349625&view=diff ============================================================================== --- incubator/ooo/trunk/main/sw/source/core/docnode/ndcopy.cxx (original) +++ incubator/ooo/trunk/main/sw/source/core/docnode/ndcopy.cxx Wed Jun 13 03:22:39 2012 @@ -354,11 +354,23 @@ sal_Bool lcl_CopyTblBox( const SwTableBo pNewBox = new SwTableBox( pBoxFmt, nLines, pCT->pInsLine ); else { + //Modified for i119955,2012.6.13 + //Avoid overflow problem... + int nIn = rpBox->GetSttIdx() - pCT->nOldTblSttIdx; + if ( nIn > 0 ) + { + //End SwNodeIndex aNewIdx( *pCT->pTblNd, rpBox->GetSttIdx() - pCT->nOldTblSttIdx ); ASSERT( aNewIdx.GetNode().IsStartNode(), "Index nicht auf einem StartNode" ); pNewBox = new SwTableBox( pBoxFmt, aNewIdx, pCT->pInsLine ); pNewBox->setRowSpan( rpBox->getRowSpan() ); + //Modified for i119955,2012.6.13 + }else + { + return sal_False; + } + //End } pCT->pInsLine->GetTabBoxes().C40_INSERT( SwTableBox, pNewBox,
