diff options
author | Caolán McNamara <caolanm@redhat.com> | 2018-03-26 09:23:48 +0100 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2018-04-07 13:25:51 +0200 |
commit | f1fcf129a51cbcfa90f3ddfc3d1c1204f46fb083 (patch) | |
tree | 03f4098789fe6674665af2235024fe980918ab59 /sc | |
parent | 27f1a444eb5761401fb2668ac4a41241dd9fac66 (diff) |
forcepoint #30 check validity of group range
Change-Id: Ie0611f36809b051ce46030e44c137b4e1f8d2fe0
Reviewed-on: https://gerrit.libreoffice.org/51865
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
(cherry picked from commit e82beb0812f2f4742b80ba1f63a026cbe77f5b25)
Diffstat (limited to 'sc')
-rwxr-xr-x | sc/qa/unit/data/xls/fail/forcepoint-group-range-1.xls | bin | 0 -> 163886 bytes | |||
-rw-r--r-- | sc/source/core/data/column3.cxx | 2 |
2 files changed, 2 insertions, 0 deletions
diff --git a/sc/qa/unit/data/xls/fail/forcepoint-group-range-1.xls b/sc/qa/unit/data/xls/fail/forcepoint-group-range-1.xls Binary files differnew file mode 100755 index 000000000000..1aca9c7f113e --- /dev/null +++ b/sc/qa/unit/data/xls/fail/forcepoint-group-range-1.xls diff --git a/sc/source/core/data/column3.cxx b/sc/source/core/data/column3.cxx index 4374d47f66d2..473b6bccce23 100644 --- a/sc/source/core/data/column3.cxx +++ b/sc/source/core/data/column3.cxx @@ -3085,6 +3085,8 @@ public: xPrevGrp->mnLength += xCurGrp->mnLength; pCur->SetCellGroup(xPrevGrp); sc::formula_block::iterator itGrpEnd = it; + if (xCurGrp->mnLength > std::distance(itGrpEnd, itEnd)) + throw css::lang::IllegalArgumentException(); std::advance(itGrpEnd, xCurGrp->mnLength); for (++it; it != itGrpEnd; ++it) { |