diff options
author | Thorsten Behrens <Thorsten.Behrens@CIB.de> | 2020-09-06 17:07:47 +0200 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2020-09-19 21:11:10 +0200 |
commit | 73c86d55bf9a6fa065a8ac0bff83926276306020 (patch) | |
tree | 0b2783945276b35ae46ff4653e05e4abd5f29577 /sc | |
parent | d8e0001fd8b4702f78ade095b8b2ce09ac2451e2 (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/+/102255
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Diffstat (limited to 'sc')
-rw-r--r-- | sc/source/core/data/table3.cxx | 4 | ||||
-rw-r--r-- | sc/source/filter/excel/excrecds.cxx | 4 |
2 files changed, 4 insertions, 4 deletions
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 |