sc/source/core/tool/token.cxx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
New commits: commit abecbc3eb6d6d9fa6b51c45a52c24a2001ded195 Author: Eike Rathke <er...@redhat.com> AuthorDate: Fri Dec 18 20:27:34 2020 +0100 Commit: Eike Rathke <er...@redhat.com> CommitDate: Sat Dec 19 02:48:07 2020 +0100 Resolves: tdf#138710 Do not push an out-of-bounds bound to boundaries ... if a virtual non-existent row is being shifted in for MAXROWCOUNT (MAXROW+1), so sc/source/core/tool/sharedformula.cxx SharedFormulaUtil::splitFormulaCellGroups() is not triggered to split a group there, which would throw an exception. Instead of returning false ... CellStoreType::position_type aPos = rCells.position(nRow); if (aPos.first == rCells.end()) return false; However, avoiding the cause is the solution. Change-Id: I8f9adcb62bb78bc98092677b5d4fdc7fc3baf150 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107979 Reviewed-by: Eike Rathke <er...@redhat.com> Tested-by: Jenkins (cherry picked from commit 121d4f610a2b4caa871aa0132eccbd4e12d13b3f) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107994 diff --git a/sc/source/core/tool/token.cxx b/sc/source/core/tool/token.cxx index 859b44327a78..3cb4a8836d61 100644 --- a/sc/source/core/tool/token.cxx +++ b/sc/source/core/tool/token.cxx @@ -4538,7 +4538,8 @@ void checkBounds( // No intersections. return; - if (aAbs.aStart.Row() <= rCheckRange.aStart.Row()) + // rCheckRange may be a virtual non-existent row being shifted in. + if (aAbs.aStart.Row() <= rCheckRange.aStart.Row() && rCheckRange.aStart.Row() < rLimits.GetMaxRowCount()) { // +-+ <---- top // | | _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits