summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2016-06-09 14:43:44 +0200
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2016-06-11 10:10:25 +0000
commit8118a7c30e02b96a9dde9da590892c498681227f (patch)
tree2194e4ecf7760c4713f84a0b6ae07dabeb99c9be /sc
parent63a54519f6cd3e0c22a1a24015002d07407ac37e (diff)
Resolves: tdf#100285 EASTERSUNDAY() check valid year between 1583 and 9956
Change-Id: I4b25f1eb8e3cf0236b69607bb9ab9b4c57ae918a (cherry picked from commit 2c08ec226e771de10c8863b7f1cda016fea442d2) Reviewed-on: https://gerrit.libreoffice.org/26109 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Diffstat (limited to 'sc')
-rw-r--r--sc/source/core/tool/interpr2.cxx6
1 files changed, 6 insertions, 0 deletions
diff --git a/sc/source/core/tool/interpr2.cxx b/sc/source/core/tool/interpr2.cxx
index ef2277ada4bd..2a35f833a23e 100644
--- a/sc/source/core/tool/interpr2.cxx
+++ b/sc/source/core/tool/interpr2.cxx
@@ -282,6 +282,12 @@ void ScInterpreter::ScEasterSunday()
nYear = (sal_Int16) ::rtl::math::approxFloor( GetDouble() );
if ( nYear < 100 )
nYear = pFormatter->ExpandTwoDigitYear( nYear );
+ if (nYear < 1583 || nYear > 9956)
+ {
+ // Valid Gregorian and maximum year constraints not met.
+ PushIllegalArgument();
+ return;
+ }
// don't worry, be happy :)
int B,C,D,E,F,G,H,I,K,L,M,N,O;
N = nYear % 19;