diff options
author | Caolán McNamara <caolanm@redhat.com> | 2015-10-09 16:35:33 +0100 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2015-10-12 11:27:54 +0000 |
commit | 595fb25648627c1db68c5df4852136dd7fb420d3 (patch) | |
tree | ed05386d35ffdb7ccef54770d87cbb884a19ed16 /sc/source/core | |
parent | d8fbdc178148d8239be3b7bf3ad2b3a789320bb1 (diff) |
crashtestig: infinite recurse in ooo32833-1.sxc
integralPhi is called with nan(0xfffff000001f6)
which recurses through rtl_math_erfc->rtl_math_erf->rtl_math_erfc
until we run out of stack
Change-Id: Iab8a22fb23686d22d151f2508dbeb44ab47a76b7
(cherry picked from commit d2a07cd3214af27c5af601992e3c4a1a6e3b3dad)
Reviewed-on: https://gerrit.libreoffice.org/19282
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Eike Rathke <erack@redhat.com>
Diffstat (limited to 'sc/source/core')
-rw-r--r-- | sc/source/core/tool/interpr3.cxx | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sc/source/core/tool/interpr3.cxx b/sc/source/core/tool/interpr3.cxx index 066394d7180c..ec2fbdc210ca 100644 --- a/sc/source/core/tool/interpr3.cxx +++ b/sc/source/core/tool/interpr3.cxx @@ -1598,7 +1598,10 @@ void ScInterpreter::ScLogNormDist( int nMinParamCount ) //expanded, see #i100119 void ScInterpreter::ScStdNormDist() { - PushDouble(integralPhi(GetDouble())); + double fVal = GetDouble(); + if (!rtl::math::isNan(fVal)) + fVal = integralPhi(fVal); + PushDouble(fVal); } void ScInterpreter::ScStdNormDist_MS() |