summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2021-09-06 13:25:45 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2021-09-07 08:35:41 +0200
commit80730649fd584bb605dd3ecb734d2ac104a55e5c (patch)
tree45a285e6e5685cd38c56e83a8fc07c68c3307c7c
parent7ec91bcb7d248c38522375c31f2b6f640b1b84e2 (diff)
tdf#144319 fix formula load
regression from commit 67d83e40e2c4f3862c50e6abeabfc24a75119fc8 Author: Noel Grandin <noelgrandin@gmail.com> Date: Sat Dec 19 13:25:53 2020 +0200 speedup rational_FromDouble Change-Id: Icb728b63f950e827f1492087114f927c2f85ddb9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121719 Tested-by: Jenkins Tested-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit f8cf0d2cb4e5e18f48d6b3bfbc7d0e72e7ed5190) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121571
-rw-r--r--tools/source/generic/fract.cxx3
1 files changed, 3 insertions, 0 deletions
diff --git a/tools/source/generic/fract.cxx b/tools/source/generic/fract.cxx
index 7c0e850db8d7..57dd4e79c138 100644
--- a/tools/source/generic/fract.cxx
+++ b/tools/source/generic/fract.cxx
@@ -43,6 +43,9 @@ static boost::rational<sal_Int32> toRational(sal_Int32 n, sal_Int32 d)
// https://github.com/boostorg/boost/issues/335 when these are std::numeric_limits<sal_Int32>::min
if (n == d)
return 1;
+ // tdf#144319 avoid boost::bad_rational e.g. if numerator=-476741369, denominator=-2147483648
+ if (d < -std::numeric_limits<sal_Int32>::max())
+ return 0;
return boost::rational<sal_Int32>(n, d);
}