summaryrefslogtreecommitdiff
path: root/filter
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2014-10-30 11:33:33 +0000
committerCaolán McNamara <caolanm@redhat.com>2014-10-30 14:34:27 +0000
commitb723d52a978f3c0f25639b17999acf7dae8c50b5 (patch)
treec2b54c610b34a84be679d2f05cce73c5eae260c5 /filter
parent9263fbe338604b817e65f5a8e623f96d67224158 (diff)
coverity#1242658 Untrusted loop bound
Change-Id: I6b4605e3223d11fe4f905e0d9141043a0d7527da
Diffstat (limited to 'filter')
-rw-r--r--filter/source/graphicfilter/ipict/ipict.cxx5
1 files changed, 5 insertions, 0 deletions
diff --git a/filter/source/graphicfilter/ipict/ipict.cxx b/filter/source/graphicfilter/ipict/ipict.cxx
index a2f9eae9677f..43cdf5cd17b9 100644
--- a/filter/source/graphicfilter/ipict/ipict.cxx
+++ b/filter/source/graphicfilter/ipict/ipict.cxx
@@ -988,6 +988,11 @@ sal_uLong PictReader::ReadPixMapEtc( Bitmap &rBitmap, bool bBaseAddr, bool bColo
if ( nRowBytes < 8 || nPackType == 1 )
{
+ const size_t nMaxPixels = pPict->remainingSize() / 4;
+ const size_t nMaxRows = nMaxPixels / nWidth;
+ if (nHeight > nMaxRows)
+ BITMAPERROR;
+
for ( ny = 0; ny < nHeight; ny++ )
{
for ( nx = 0; nx < nWidth; nx++ )