summaryrefslogtreecommitdiff
path: root/dom/xslt
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@gmail.com>2018-05-15 14:23:06 +0200
committerwolfbeast <mcwerewolf@gmail.com>2018-05-15 14:23:06 +0200
commit91c11149835a2752177169b1b84c206bd6cb4c1a (patch)
treee0af527e945f1ec62e095a84d6d65626a8636955 /dom/xslt
parent1d4dd6d12a5e1364229b046d05de4c8a7785ac0e (diff)
downloadaura-central-91c11149835a2752177169b1b84c206bd6cb4c1a.tar.gz
Check for infinite value in txFormatNumberFunctionCall.
Diffstat (limited to 'dom/xslt')
-rw-r--r--dom/xslt/xslt/txFormatNumberFunctionCall.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/dom/xslt/xslt/txFormatNumberFunctionCall.cpp b/dom/xslt/xslt/txFormatNumberFunctionCall.cpp
index a4d4b8fb0..674fb553c 100644
--- a/dom/xslt/xslt/txFormatNumberFunctionCall.cpp
+++ b/dom/xslt/xslt/txFormatNumberFunctionCall.cpp
@@ -265,6 +265,12 @@ txFormatNumberFunctionCall::evaluate(txIEvalContext* aContext,
value = fabs(value) * multiplier;
+ // Make sure the multiplier didn't push value to infinity.
+ if (value == mozilla::PositiveInfinity<double>()) {
+ return aContext->recycler()->getStringResult(format->mInfinity,
+ aResult);
+ }
+
// Prefix
nsAutoString res(prefix);