summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2013-09-11 11:15:40 +0100
committerCaolán McNamara <caolanm@redhat.com>2013-09-11 12:11:36 +0100
commit8b6402b926f5237f9e3730ffc8770e5472cb5903 (patch)
tree2b29aafff30f2e75d11887b4439877c55a15925c
parent80503eb9b5d82a2142feb91b1b0ec3175571de0a (diff)
CID#736213 clip nLevel to legal bounds
Change-Id: I805425885ea86fdaf658d89f955a47769782c0cd
-rw-r--r--sw/source/ui/wrtsh/wrtsh1.cxx11
1 files changed, 9 insertions, 2 deletions
diff --git a/sw/source/ui/wrtsh/wrtsh1.cxx b/sw/source/ui/wrtsh/wrtsh1.cxx
index a029164d2ff6..0cda8cfe1695 100644
--- a/sw/source/ui/wrtsh/wrtsh1.cxx
+++ b/sw/source/ui/wrtsh/wrtsh1.cxx
@@ -1325,8 +1325,15 @@ void SwWrtShell::NumOrBulletOff()
if (pTxtNode)
{
- sal_uInt16 nLevel = sal::static_int_cast<sal_uInt16, sal_Int32>(pTxtNode->GetActualListLevel());
- SwNumFmt aFmt(aNumRule.Get(nLevel));
+ int nLevel = pTxtNode->GetActualListLevel();
+
+ if (nLevel < 0)
+ nLevel = 0;
+
+ if (nLevel >= MAXLEVEL)
+ nLevel = MAXLEVEL - 1;
+
+ SwNumFmt aFmt(aNumRule.Get(static_cast<sal_uInt16>(nLevel)));
aFmt.SetNumberingType(SVX_NUM_NUMBER_NONE);
aNumRule.Set(nLevel, aFmt);