[Libreoffice-commits] core.git: Branch 'libreoffice-7-0' - sc/source

Thorsten Behrens (via logerrit) logerrit at kemper.freedesktop.org
Wed Sep 9 07:25:37 UTC 2020


 sc/source/core/data/table3.cxx      |    4 ++--
 sc/source/filter/excel/excrecds.cxx |    4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

New commits:
commit 090c81157ab5a1a07ad6d3d1233a304cf629f978
Author:     Thorsten Behrens <Thorsten.Behrens at CIB.de>
AuthorDate: Sun Sep 6 17:07:47 2020 +0200
Commit:     Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>
CommitDate: Wed Sep 9 09:25:06 2020 +0200

    Check range before accessing Calc sort userlist
    
    Conflicts:
            sc/source/filter/excel/excrecds.cxx
    
    Change-Id: Ib5078dc4ce3f85be9b42320b60ef6fc40b684cb7
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102140
    Tested-by: Jenkins
    Tested-by: Serge Krot <Serge.Krot at cib.de>
    Reviewed-by: Thorsten Behrens <Thorsten.Behrens at CIB.de>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102253
    Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>

diff --git a/sc/source/core/data/table3.cxx b/sc/source/core/data/table3.cxx
index ce2f77a20c16..3e03ae111998 100644
--- a/sc/source/core/data/table3.cxx
+++ b/sc/source/core/data/table3.cxx
@@ -1492,9 +1492,9 @@ short ScTable::CompareCell(
                 bool bNaturalSort = aSortParam.bNaturalSort;    // natural sort
                 bool bCaseSens    = aSortParam.bCaseSens;       // case sensitivity
 
-                if (bUserDef)
+                ScUserList* pList = ScGlobal::GetUserList();
+                if (bUserDef && pList && pList->size() > aSortParam.nUserIndex )
                 {
-                    ScUserList* pList = ScGlobal::GetUserList();
                     const ScUserListData& rData = (*pList)[aSortParam.nUserIndex];
 
                     if ( bNaturalSort )
diff --git a/sc/source/filter/excel/excrecds.cxx b/sc/source/filter/excel/excrecds.cxx
index b82910908c7c..b8e1e375e3d8 100644
--- a/sc/source/filter/excel/excrecds.cxx
+++ b/sc/source/filter/excel/excrecds.cxx
@@ -935,7 +935,8 @@ ExcAutoFilterRecs::ExcAutoFilterRecs( const XclExpRoot& rRoot, SCTAB nTab, const
                 ScSortParam aSortParam;
                 pData->GetSortParam( aSortParam );
 
-                if (aSortParam.bUserDef)
+                ScUserList* pList = ScGlobal::GetUserList();
+                if (aSortParam.bUserDef && pList && pList->size() > aSortParam.nUserIndex)
                 {
                     // get sorted area without headers
                     maSortRef = ScRange(
@@ -943,7 +944,6 @@ ExcAutoFilterRecs::ExcAutoFilterRecs( const XclExpRoot& rRoot, SCTAB nTab, const
                         aParam.nCol2, aParam.nRow2, aParam.nTab );
 
                     // get sorted columns with custom lists
-                    ScUserList* pList = ScGlobal::GetUserList();
                     const ScUserListData& rData = (*pList)[aSortParam.nUserIndex];
 
                     // get column index and sorting direction


More information about the Libreoffice-commits mailing list