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 <erack@redhat.com>
Tested-by: Jenkins
diff --git a/sc/source/core/tool/token.cxx b/sc/source/core/tool/token.cxx
index df968b2..91e73e4 100644
--- a/sc/source/core/tool/token.cxx
+++ b/sc/source/core/tool/token.cxx
@@ -4530,7 +4530,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
        //    | |