diff options
author | Caolán McNamara <caolanm@redhat.com> | 2014-10-30 11:33:33 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2014-10-30 14:34:27 +0000 |
commit | b723d52a978f3c0f25639b17999acf7dae8c50b5 (patch) | |
tree | c2b54c610b34a84be679d2f05cce73c5eae260c5 /filter | |
parent | 9263fbe338604b817e65f5a8e623f96d67224158 (diff) |
coverity#1242658 Untrusted loop bound
Change-Id: I6b4605e3223d11fe4f905e0d9141043a0d7527da
Diffstat (limited to 'filter')
-rw-r--r-- | filter/source/graphicfilter/ipict/ipict.cxx | 5 |
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++ ) |