summaryrefslogtreecommitdiff
path: root/editeng/source/outliner/outlobj.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'editeng/source/outliner/outlobj.cxx')
-rw-r--r--editeng/source/outliner/outlobj.cxx22
1 files changed, 14 insertions, 8 deletions
diff --git a/editeng/source/outliner/outlobj.cxx b/editeng/source/outliner/outlobj.cxx
index 1140e505b00e..32b76de5300f 100644
--- a/editeng/source/outliner/outlobj.cxx
+++ b/editeng/source/outliner/outlobj.cxx
@@ -183,14 +183,20 @@ void OutlinerParaObject::SetVertical(bool bNew)
}
}
-sal_uInt32 OutlinerParaObject::Count() const
+sal_Int32 OutlinerParaObject::Count() const
{
- return mpImplOutlinerParaObject->maParagraphDataVector.size();
+ size_t nSize = mpImplOutlinerParaObject->maParagraphDataVector.size();
+ if (nSize > EE_PARA_MAX_COUNT)
+ {
+ SAL_WARN( "editeng", "OutlinerParaObject::Count - overflow " << nSize);
+ return EE_PARA_MAX_COUNT;
+ }
+ return static_cast<sal_Int32>(nSize);
}
-sal_Int16 OutlinerParaObject::GetDepth(sal_uInt16 nPara) const
+sal_Int16 OutlinerParaObject::GetDepth(sal_Int32 nPara) const
{
- if(nPara < mpImplOutlinerParaObject->maParagraphDataVector.size())
+ if(0 <= nPara && static_cast<size_t>(nPara) < mpImplOutlinerParaObject->maParagraphDataVector.size())
{
return mpImplOutlinerParaObject->maParagraphDataVector[nPara].getDepth();
}
@@ -210,9 +216,9 @@ bool OutlinerParaObject::IsEditDoc() const
return mpImplOutlinerParaObject->mbIsEditDoc;
}
-const ParagraphData& OutlinerParaObject::GetParagraphData(sal_uInt32 nIndex) const
+const ParagraphData& OutlinerParaObject::GetParagraphData(sal_Int32 nIndex) const
{
- if(nIndex < mpImplOutlinerParaObject->maParagraphDataVector.size())
+ if(0 <= nIndex && static_cast<size_t>(nIndex) < mpImplOutlinerParaObject->maParagraphDataVector.size())
{
return mpImplOutlinerParaObject->maParagraphDataVector[nIndex];
}
@@ -247,12 +253,12 @@ void OutlinerParaObject::ChangeStyleSheetName(SfxStyleFamily eFamily,
void OutlinerParaObject::SetStyleSheets(sal_uInt16 nLevel, const OUString rNewName,
const SfxStyleFamily& rNewFamily)
{
- const sal_uInt32 nCount(mpImplOutlinerParaObject->maParagraphDataVector.size());
+ const sal_Int32 nCount(Count());
if(nCount)
{
ImplMakeUnique();
- sal_uInt16 nDecrementer(sal::static_int_cast< sal_uInt16 >(nCount));
+ sal_Int32 nDecrementer(nCount);
for(;nDecrementer;)
{