Blob Blame History Raw
From 74f181d285425bf7ec2ec8a18ad9f2e075f52594 Mon Sep 17 00:00:00 2001
From: Julien Nabet <serval2412@yahoo.fr>
Date: Sat, 7 Dec 2013 19:05:47 +0100
Subject: [PATCH 050/109] CID#736170, CID#736171, CID#736172 Out-of-Bounds
 read/write
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Let's be sure that nMaxcolorIndex < 256

Change-Id: I349184ad92c8e7b10a90a32e093972bfaee52467
Reviewed-on: https://gerrit.libreoffice.org/6970
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-on: https://gerrit.libreoffice.org/6972
---
 filter/source/graphicfilter/icgm/class5.cxx | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/filter/source/graphicfilter/icgm/class5.cxx b/filter/source/graphicfilter/icgm/class5.cxx
index c0319b7..eb53788 100644
--- a/filter/source/graphicfilter/icgm/class5.cxx
+++ b/filter/source/graphicfilter/icgm/class5.cxx
@@ -316,17 +316,16 @@ void CGM::ImplDoClass5()
                     if ( nMaxColorIndex > 255 )
                     {
                         mbStatus = sal_False;
+                        break;
                     }
-                    else
-                    {
-                        if ( pElement->nLatestColorMaximumIndex < nMaxColorIndex )
-                            pElement->nLatestColorMaximumIndex = nMaxColorIndex;
+                    if ( pElement->nLatestColorMaximumIndex < nMaxColorIndex )
+                        pElement->nLatestColorMaximumIndex = nMaxColorIndex;
 
-                        for (  nIndex = nColorStartIndex; nIndex <= nMaxColorIndex; nIndex++ )
-                        {
-                            pElement->aLatestColorTable[ nIndex ] = ImplGetBitmapColor( sal_True );
-                        }
+                    for (  nIndex = nColorStartIndex; nIndex <= nMaxColorIndex; nIndex++ )
+                    {
+                        pElement->aLatestColorTable[ nIndex ] = ImplGetBitmapColor( sal_True );
                     }
+
                     pElement->nColorMaximumIndex = pElement->nLatestColorMaximumIndex;
                     for ( nIndex = nColorStartIndex; nIndex <= nMaxColorIndex; nIndex++ )
                     {
-- 
1.8.4.2