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

New commits:
commit 76139d1059f063a3f53e4bac8cc9790bf02629ad
Author:     Thorsten Behrens <thorsten.behr...@cib.de>
AuthorDate: Sun Sep 6 17:07:47 2020 +0200
Commit:     Samuel Mehrbrodt <samuel.mehrbr...@cib.de>
CommitDate: Wed Sep 9 17:09:30 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.k...@cib.de>
    Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102255
    Reviewed-by: Samuel Mehrbrodt <samuel.mehrbr...@cib.de>

diff --git a/sc/source/core/data/table3.cxx b/sc/source/core/data/table3.cxx
index 1ee6456d84a6..c27c73fb88e1 100644
--- a/sc/source/core/data/table3.cxx
+++ b/sc/source/core/data/table3.cxx
@@ -1488,9 +1488,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 d7ab5d7d95af..920955a6540d 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
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to