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,


Reply via email to