diff options
author | Caolán McNamara <caolanm@redhat.com> | 2020-02-27 09:17:11 +0000 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2020-06-18 08:54:42 +0200 |
commit | 74def786fe5c20c5415060209e56ee30cde8e266 (patch) | |
tree | cf4955a031673221bd8f2e62ac414a088a607885 /sc/source | |
parent | 1e04dd3bca5b3bd3ea94af3304bdce87b705451b (diff) |
tdf#134019: ofz#20904 check bounds
Change-Id: I5d6d381ebd359b233b309e08131f3dda21310d80
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89620
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
(cherry picked from commit 8e3a29110c8ad739bedeea90932663608d8d3935)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96573
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sc/source')
-rw-r--r-- | sc/source/core/data/dociter.cxx | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/sc/source/core/data/dociter.cxx b/sc/source/core/data/dociter.cxx index f501bb8da0d0..5331e8ac33ae 100644 --- a/sc/source/core/data/dociter.cxx +++ b/sc/source/core/data/dociter.cxx @@ -892,14 +892,17 @@ void ScCellIterator::init() if (maStartPos.Tab() > maEndPos.Tab()) maStartPos.SetTab(maEndPos.Tab()); - maCurPos = maStartPos; - - if (!mpDoc->maTabs[maCurPos.Tab()]) + if (!mpDoc->maTabs[maStartPos.Tab()]) { OSL_FAIL("Table not found"); maStartPos = ScAddress(mpDoc->MaxCol()+1, mpDoc->MaxRow()+1, MAXTAB+1); // -> Abort on GetFirst. - maCurPos = maStartPos; } + else + { + maStartPos.SetCol(mpDoc->maTabs[maStartPos.Tab()]->ClampToAllocatedColumns(maStartPos.Col())); + } + + maCurPos = maStartPos; } bool ScCellIterator::getCurrent() |