[Libreoffice-commits] core.git: Branch 'libreoffice-6-4' - lotuswordpro/source

Caolán McNamara (via logerrit) logerrit at kemper.freedesktop.org
Wed Sep 23 14:55:38 UTC 2020


 lotuswordpro/source/filter/lwptablelayout.cxx |   14 +++++++-------
 lotuswordpro/source/filter/lwptablelayout.hxx |    2 +-
 2 files changed, 8 insertions(+), 8 deletions(-)

New commits:
commit f074ad34d5fbc52f4f8df4eec31ba95ee92f879b
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Wed Sep 23 12:44:14 2020 +0100
Commit:     Xisco Fauli <xiscofauli at libreoffice.org>
CommitDate: Wed Sep 23 16:55:04 2020 +0200

    ofz#25881 use std::vector with bounds checking accessor
    
    Change-Id: Ic557e85bce5f3ebe7224b0aa2192a74969f4fce2
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103194
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <xiscofauli at libreoffice.org>

diff --git a/lotuswordpro/source/filter/lwptablelayout.cxx b/lotuswordpro/source/filter/lwptablelayout.cxx
index 448599e5b2c5..b4805ae6d9af 100644
--- a/lotuswordpro/source/filter/lwptablelayout.cxx
+++ b/lotuswordpro/source/filter/lwptablelayout.cxx
@@ -855,7 +855,7 @@ sal_uInt16 LwpTableLayout::ConvertHeadingRow(
     ConvertTable(pTmpTable.get(),nStartHeadRow,nEndHeadRow,0,nCol);
 
     sal_uInt16 nRowNum = pTmpTable->GetRowCount();
-    std::unique_ptr<sal_uInt8[]> CellMark( new sal_uInt8[nRowNum] );
+    std::vector<sal_uInt8> CellMark(nRowNum);
 
     if (nRowNum == 1)
     {
@@ -867,11 +867,11 @@ sal_uInt16 LwpTableLayout::ConvertHeadingRow(
     else
     {
         sal_uInt8 nFirstColSpann = 1;
-        const bool bFindFlag = FindSplitColMark(pTmpTable.get(),CellMark.get(),nFirstColSpann);
+        const bool bFindFlag = FindSplitColMark(pTmpTable.get(), CellMark, nFirstColSpann);
 
         if (bFindFlag)//split to 2 cells
         {
-            SplitRowToCells(pTmpTable.get(),pXFTable,nFirstColSpann,CellMark.get());
+            SplitRowToCells(pTmpTable.get(), pXFTable, nFirstColSpann, CellMark.data());
             nContentRow = nEndHeadRow;
         }
         else//can not split,the first row will be the heading row,the rest will be content row
@@ -987,7 +987,7 @@ void LwpTableLayout::SplitRowToCells(XFTable* pTmpTable, rtl::Reference<XFTable>
  * @param  pXFTable - pointer of tmp XFtable
  * @param  CellMark - pointer of cell mark array
  */
-bool  LwpTableLayout::FindSplitColMark(XFTable* pXFTable, sal_uInt8* pCellMark,
+bool  LwpTableLayout::FindSplitColMark(XFTable* pXFTable, std::vector<sal_uInt8>& rCellMark,
             sal_uInt8& nMaxColSpan)
 {
     sal_uInt16 nRowNum = pXFTable->GetRowCount();
@@ -1017,7 +1017,7 @@ bool  LwpTableLayout::FindSplitColMark(XFTable* pXFTable, sal_uInt8* pCellMark,
             }
             if (nColSpan > nMaxColSpan)
                 nMaxColSpan = nColSpan;
-            pCellMark[nRowLoop] = 0;//reset all cell mark to zero
+            rCellMark.at(nRowLoop) = 0;//reset all cell mark to zero
         }
 
         //find if other row has the same column
@@ -1040,11 +1040,11 @@ bool  LwpTableLayout::FindSplitColMark(XFTable* pXFTable, sal_uInt8* pCellMark,
             if (nCellMark == 0)
                 break;
             else
-                pCellMark[nRowLoop] = nCellMark;
+                rCellMark.at(nRowLoop) = nCellMark;
         }
         for(nRowLoop=1;nRowLoop<=nRowNum;nRowLoop++)//check if all ==0,break
         {
-            if (pCellMark[nRowLoop] == 0)
+            if (rCellMark.at(nRowLoop) == 0)
                 break;
         }
         if (nRowLoop == nRowNum+1)
diff --git a/lotuswordpro/source/filter/lwptablelayout.hxx b/lotuswordpro/source/filter/lwptablelayout.hxx
index 5e232dba73b4..97e2ac10acbe 100644
--- a/lotuswordpro/source/filter/lwptablelayout.hxx
+++ b/lotuswordpro/source/filter/lwptablelayout.hxx
@@ -141,7 +141,7 @@ private:
                 sal_uInt8 nEndCol, sal_uInt16 nRowID);
     void ConvertColumn(rtl::Reference<XFTable> const & pXFTable, sal_uInt8 nStartCol, sal_uInt8 nEndCol);
     sal_uInt16 ConvertHeadingRow(rtl::Reference<XFTable> const & pXFTable,sal_uInt16 nStartHeadRow,sal_uInt16 nEndHeadRow);
-    static bool FindSplitColMark(XFTable* pXFTable,sal_uInt8* pCellMark,sal_uInt8& nMaxColSpan);
+    static bool FindSplitColMark(XFTable* pXFTable, std::vector<sal_uInt8>& rCellMark, sal_uInt8& nMaxColSpan);
     void SplitRowToCells(XFTable* pTmpTable, rtl::Reference<XFTable> const & pXFTable,
                 sal_uInt8 nFirstColSpann, const sal_uInt8* pCellMark);
 


More information about the Libreoffice-commits mailing list