summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2020-09-23 12:44:14 +0100
committerThorsten Behrens <thorsten.behrens@allotropia.de>2021-04-09 23:22:07 +0200
commit5c6a04d1564e9ebd5ed4c10eb092f2187384c4e6 (patch)
treeedc6ab712c66171e1cb11b9d8f74b874aa948c3e
parentResolves: ofz#18414 drop apo anchor if it will be deleted (diff)
downloadcore-5c6a04d1564e9ebd5ed4c10eb092f2187384c4e6.tar.gz
core-5c6a04d1564e9ebd5ed4c10eb092f2187384c4e6.zip
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@libreoffice.org> (cherry picked from commit f074ad34d5fbc52f4f8df4eec31ba95ee92f879b)
-rw-r--r--lotuswordpro/source/filter/lwptablelayout.cxx14
-rw-r--r--lotuswordpro/source/filter/lwptablelayout.hxx2
2 files changed, 8 insertions, 8 deletions
diff --git a/lotuswordpro/source/filter/lwptablelayout.cxx b/lotuswordpro/source/filter/lwptablelayout.cxx
index bf1c0dfe61e7..0f3b0d21b30e 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 29d462359be8..692452437cf9 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);