diff options
author | Caolán McNamara <caolanm@redhat.com> | 2015-02-14 20:09:04 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2015-02-14 21:30:58 +0000 |
commit | a541aab2e7fdedcc84fff213069d7e521ff827a4 (patch) | |
tree | 5144ce090f54eaadd576ad8bdb4165d440a8c1a1 /sc | |
parent | 08348b226b6bb0ba9b1c24802c1f306b7b3905a1 (diff) |
coverity#1242895 Untrusted loop bound
Change-Id: Iacd1fd5dcd91f09e142d46bd6f397375d3fd4906
Diffstat (limited to 'sc')
-rw-r--r-- | sc/source/filter/starcalc/scflt.cxx | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/sc/source/filter/starcalc/scflt.cxx b/sc/source/filter/starcalc/scflt.cxx index 8c290940c639..791ec6ad8453 100644 --- a/sc/source/filter/starcalc/scflt.cxx +++ b/sc/source/filter/starcalc/scflt.cxx @@ -1357,8 +1357,10 @@ void Sc10Import::LoadDataBaseCollection() namespace { - sal_uInt16 SanitizeDataCount(sal_uInt16 nDataCount, SvStream &rStream) + sal_uInt16 ReadAndSanitizeDataCount(SvStream &rStream) { + sal_uInt16 nDataCount(0); + rStream.ReadUInt16(nDataCount); const size_t nMinRecordSize = sizeof(sal_uInt16)*2; const size_t nMaxRecords = rStream.remainingSize() / nMinRecordSize; if (nDataCount > nMaxRecords) @@ -1471,8 +1473,7 @@ void Sc10Import::LoadTables() nError = errUnknownID; return; } - rStream.ReadUInt16( DataCount ); - DataCount = SanitizeDataCount(DataCount, rStream); + DataCount = ReadAndSanitizeDataCount(rStream); DataStart = 0; for (i=0; i < DataCount; i++) { @@ -1494,8 +1495,7 @@ void Sc10Import::LoadTables() return; } - rStream.ReadUInt16( DataCount ); - DataCount = SanitizeDataCount(DataCount, rStream); + DataCount = ReadAndSanitizeDataCount(rStream); DataStart = 0; for (i=0; i < DataCount; i++) { @@ -1525,8 +1525,7 @@ void Sc10Import::LoadTables() return; } - rStream.ReadUInt16( DataCount ); - DataCount = SanitizeDataCount(DataCount, rStream); + DataCount = ReadAndSanitizeDataCount(rStream); DataStart = 0; for (i=0; i < DataCount; i++) { @@ -1546,8 +1545,7 @@ void Sc10Import::LoadTables() return; } - rStream.ReadUInt16(DataCount); - DataCount = SanitizeDataCount(DataCount, rStream); + DataCount = ReadAndSanitizeDataCount(rStream); DataStart = 0; for (i=0; i < DataCount; i++) { |