[Libreoffice-commits] core.git: sc/source

Noel Grandin (via logerrit) logerrit at kemper.freedesktop.org
Thu Apr 25 06:09:48 UTC 2019


 sc/source/filter/oox/sheetdatabuffer.cxx |    3 +++
 1 file changed, 3 insertions(+)

New commits:
commit e1ebb5cb58edc325bb30bb5eb992665fb861960f
Author:     Noel Grandin <noel.grandin at collabora.co.uk>
AuthorDate: Wed Apr 24 18:51:08 2019 +0200
Commit:     Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Thu Apr 25 08:09:08 2019 +0200

    tdf67629 FILEOPEN Particular .xlsx hangs Spreadsheet
    
    Seems like this is a somewhat pathological document, has lots of
    duplicated ranges. Checking for duplicates makes it load in <10s on my
    machine
    
    Change-Id: I25da24e0f8b1d4ad99d00474be168c75586ea579
    Reviewed-on: https://gerrit.libreoffice.org/71251
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>

diff --git a/sc/source/filter/oox/sheetdatabuffer.cxx b/sc/source/filter/oox/sheetdatabuffer.cxx
index 7e7077a1b894..fcc54e1880b1 100644
--- a/sc/source/filter/oox/sheetdatabuffer.cxx
+++ b/sc/source/filter/oox/sheetdatabuffer.cxx
@@ -663,6 +663,9 @@ void SheetDataBuffer::setCellFormat( const CellModel& rModel )
          * It is sufficient to check if the row range size is one
          */
         if (!rRangeList.empty() &&
+            *pLastRange == rModel.maCellAddr)
+            ; // do nothing - this probably bad data
+        else if (!rRangeList.empty() &&
             pLastRange->aStart.Tab() == rModel.maCellAddr.Tab() &&
             pLastRange->aStart.Row() == pLastRange->aEnd.Row() &&
             pLastRange->aStart.Row() == rModel.maCellAddr.Row() &&


More information about the Libreoffice-commits mailing list