summaryrefslogtreecommitdiff
path: root/svl/source/items/macitem.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'svl/source/items/macitem.cxx')
-rw-r--r--svl/source/items/macitem.cxx15
1 files changed, 8 insertions, 7 deletions
diff --git a/svl/source/items/macitem.cxx b/svl/source/items/macitem.cxx
index 64a22aa0039c..b0750212e3dc 100644
--- a/svl/source/items/macitem.cxx
+++ b/svl/source/items/macitem.cxx
@@ -86,28 +86,30 @@ void SvxMacroTableDtor::Read( SvStream& rStrm )
sal_uInt16 nVersion;
rStrm.ReadUInt16( nVersion );
- short nMacro(0);
- rStrm.ReadInt16(nMacro);
- if (nMacro < 0)
+ short nReadMacro(0);
+ rStrm.ReadInt16(nReadMacro);
+ if (nReadMacro < 0)
{
- SAL_WARN("editeng", "Parsing error: negative value " << nMacro);
+ SAL_WARN("editeng", "Parsing error: negative value " << nReadMacro);
return;
}
+ auto nMacro = o3tl::make_unsigned(nReadMacro);
+
const size_t nMinStringSize = rStrm.GetStreamCharSet() == RTL_TEXTENCODING_UNICODE ? 4 : 2;
size_t nMinRecordSize = 2 + 2*nMinStringSize;
if( SVX_MACROTBL_VERSION40 <= nVersion )
nMinRecordSize+=2;
const size_t nMaxRecords = rStrm.remainingSize() / nMinRecordSize;
- if (o3tl::make_unsigned(nMacro) > nMaxRecords)
+ if (nMacro > nMaxRecords)
{
SAL_WARN("editeng", "Parsing error: " << nMaxRecords <<
" max possible entries, but " << nMacro<< " claimed, truncating");
nMacro = nMaxRecords;
}
- for (short i = 0; i < nMacro; ++i)
+ for (decltype(nMacro) i = 0; i < nMacro; ++i)
{
sal_uInt16 nCurKey, eType = STARBASIC;
OUString aLibName, aMacName;
@@ -122,7 +124,6 @@ void SvxMacroTableDtor::Read( SvStream& rStrm )
}
}
-
SvStream& SvxMacroTableDtor::Write( SvStream& rStream ) const
{
sal_uInt16 nVersion = SOFFICE_FILEFORMAT_31 == rStream.GetVersion()