SwDoc::DelNumRule: fix out-of-bounds index access
When nPos == USHRT_MAX, even if later we checked for that case, just for the sake of an assert(), we already called operator[] with nPos. (To reproduce: right click on List 1 -> New -> Cancel, results in a crash.) Change-Id: I465b5519000b79bd8b2eaa3b3c1ceb80a182a25a
This commit is contained in:
@@ -1005,13 +1005,16 @@ bool SwDoc::DelNumRule( const OUString& rName, bool bBroadcast )
|
||||
{
|
||||
sal_uInt16 nPos = FindNumRule( rName );
|
||||
|
||||
if (nPos == USHRT_MAX)
|
||||
return false;
|
||||
|
||||
if ( (*mpNumRuleTbl)[ nPos ] == GetOutlineNumRule() )
|
||||
{
|
||||
OSL_FAIL( "<SwDoc::DelNumRule(..)> - No deletion of outline list style. This is serious defect - please inform OD" );
|
||||
return false;
|
||||
}
|
||||
|
||||
if( USHRT_MAX != nPos && !IsUsed( *(*mpNumRuleTbl)[ nPos ] ))
|
||||
if( !IsUsed( *(*mpNumRuleTbl)[ nPos ] ))
|
||||
{
|
||||
if (GetIDocumentUndoRedo().DoesUndo())
|
||||
{
|
||||
|
Reference in New Issue
Block a user