summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Brinkmann <hbrinkm@openoffice.org>2010-09-08 17:52:18 +0200
committerHenning Brinkmann <hbrinkm@openoffice.org>2010-09-08 17:52:18 +0200
commit66222c7cbe23fbb4ae0ebf00d543cc2699f56b6c (patch)
treea1d01803b586f4b33d5165603bf92348a2a66e8a
parentCWS-TOOLING: integrate CWS fs33a (diff)
downloadcore-66222c7cbe23fbb4ae0ebf00d543cc2699f56b6c.tar.gz
core-66222c7cbe23fbb4ae0ebf00d543cc2699f56b6c.zip
#b6983101#: applied patch and did some additional robustness checks
-rw-r--r--sw/source/core/doc/number.cxx9
-rw-r--r--sw/source/filter/rtf/rtfnum.cxx8
2 files changed, 12 insertions, 5 deletions
diff --git a/sw/source/core/doc/number.cxx b/sw/source/core/doc/number.cxx
index 7af292626f06..847c6b229fd1 100644
--- a/sw/source/core/doc/number.cxx
+++ b/sw/source/core/doc/number.cxx
@@ -101,8 +101,15 @@ const SwNumFmt& SwNumRule::Get( USHORT i ) const
const SwNumFmt* SwNumRule::GetNumFmt( USHORT i ) const
{
+ const SwNumFmt * pResult = NULL;
+
ASSERT_ID( i < MAXLEVEL && eRuleType < RULE_END, ERR_NUMLEVEL);
- return aFmts[ i ];
+ if ( i < MAXLEVEL && eRuleType < RULE_END)
+ {
+ pResult = aFmts[ i ];
+ }
+
+ return pResult;
}
// --> OD 2008-07-08 #i91400#
diff --git a/sw/source/filter/rtf/rtfnum.cxx b/sw/source/filter/rtf/rtfnum.cxx
index 84719b2f1255..507f35375ed6 100644
--- a/sw/source/filter/rtf/rtfnum.cxx
+++ b/sw/source/filter/rtf/rtfnum.cxx
@@ -806,8 +806,8 @@ SwNumRule *SwRTFParser::ReadNumSecLevel( int nToken )
// suche die Rule - steht unter Nummer 3
nListNo = 3;
bContinus = FALSE;
- nLevel = MAXLEVEL <= nTokenValue ? MAXLEVEL - 1
- : BYTE( nTokenValue - 1 );
+ nLevel = MAXLEVEL <= (unsigned long) nTokenValue ? MAXLEVEL - 1
+ : (!nTokenValue ? 0 : BYTE( nTokenValue - 1 ));
}
else
{
@@ -815,9 +815,9 @@ SwNumRule *SwRTFParser::ReadNumSecLevel( int nToken )
{
case RTF_PNLVL: nListNo = 3;
bContinus = FALSE;
- nLevel = MAXLEVEL <= nTokenValue
+ nLevel = MAXLEVEL <= (unsigned long) nTokenValue
? MAXLEVEL - 1
- : BYTE( nTokenValue-1 );
+ : (!nTokenValue ? 0 : BYTE( nTokenValue-1 ));
break;
case RTF_PNLVLBODY: