summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorThorsten Behrens <Thorsten.Behrens@CIB.de>2020-09-06 17:07:47 +0200
committerSamuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>2020-09-09 09:25:06 +0200
commit090c81157ab5a1a07ad6d3d1233a304cf629f978 (patch)
tree89cceff3c81b975bbe0f763a7caaa16d4797dbb7 /sc
parent9c843ca8659bc06694f44b5641186716d1428de6 (diff)
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@cib.de> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102253 Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Diffstat (limited to 'sc')
-rw-r--r--sc/source/core/data/table3.cxx4
-rw-r--r--sc/source/filter/excel/excrecds.cxx4
2 files changed, 4 insertions, 4 deletions
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