summaryrefslogtreecommitdiff
path: root/sc/source/core
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2015-10-09 16:35:33 +0100
committerEike Rathke <erack@redhat.com>2015-10-12 11:27:54 +0000
commit595fb25648627c1db68c5df4852136dd7fb420d3 (patch)
treeed05386d35ffdb7ccef54770d87cbb884a19ed16 /sc/source/core
parentd8fbdc178148d8239be3b7bf3ad2b3a789320bb1 (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.cxx5
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()