diff options
author | Caolán McNamara <caolanm@redhat.com> | 2013-10-09 16:26:20 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2013-10-09 16:59:50 +0100 |
commit | 540e817e7b59953d1036cdbdf1c47358b6ed98be (patch) | |
tree | 5e75be2583f70d887dc443a45a9bc92be45e965b /sw/source/core/txtnode | |
parent | 6dd4cfeeca9e8a790904d5e06a0ad14919d98fc5 (diff) |
CID#736198 out of bounds
Change-Id: Idb564e9e2d3d8a8d23ff2c3065c8368c558e3069
Diffstat (limited to 'sw/source/core/txtnode')
-rw-r--r-- | sw/source/core/txtnode/ndtxt.cxx | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/sw/source/core/txtnode/ndtxt.cxx b/sw/source/core/txtnode/ndtxt.cxx index 397b46cea45f..e002cee8d4b3 100644 --- a/sw/source/core/txtnode/ndtxt.cxx +++ b/sw/source/core/txtnode/ndtxt.cxx @@ -2778,7 +2778,15 @@ sal_Bool SwTxtNode::GetFirstLineOfsWithNum( short& rFLOffset ) const { if ( IsCountedInList() ) { - const SwNumFmt& rFmt = pRule->Get(static_cast<sal_uInt16>(GetActualListLevel())); + int nLevel = GetActualListLevel(); + + if (nLevel < 0) + nLevel = 0; + + if (nLevel >= MAXLEVEL) + nLevel = MAXLEVEL - 1; + + const SwNumFmt& rFmt = pRule->Get(static_cast<sal_uInt16>(nLevel)); if ( rFmt.GetPositionAndSpaceMode() == SvxNumberFormat::LABEL_WIDTH_AND_POSITION ) { rFLOffset = pRule->Get( static_cast<sal_uInt16>(GetActualListLevel() )).GetFirstLineOffset(); |